FeD:Code/chamrufzeichen.py

Aus Förderverein euregionale Digitalkultur e.V.

Wechseln zu: Navigation, Suche

Deutsche Rufzeichen bei der Bundesnetzagentur abrufen

#!/usr/bin/env python
# -*- coding: utf-8 -
#chamrufzeichen
#Deutsche Rufzeichen abfragen bei der Bundesnetzagentur http://ans.bundesnetzagentur.de/
#Copyright (C) 2010 von DO1KID 
 
#This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
#This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>.
 
from mechanize import Browser
import sys      # exit code
def main(argv=None):
	if len(argv)<=1:
		print "Kein Rufzeichen eingegeben!"
		sys.exit(1)
	if argv[1].find("*") !=-1:
		print "Kein Jokerzeichen erlaubt!"
		sys.exit(1)
	br = Browser()
	br.open("http://ans.bundesnetzagentur.de/Amateurfunk/Rufzeichen.aspx")
	br.select_form('Form1')
	br["Text1"]=argv[1];
	response=br.submit().read()
	if response.find("Kein Rufzeichen zu Ihrer Abfrage gefunden!")!= -1:
		print "Kein Rufzeichen zu Ihrer Abfrage gefunden!"
		sys.exit(1)
	begin=response.rfind(argv[1])
	if begin==-1:
		print "Rufzeichen im Quelltext nicht gefunden"
		sys.exit(1)
	end=response.find("</tr>", begin)
	if end ==-1:
		print "Ende der Tabelle konnte nicht gefunden werden"
		sys.exit(1)
	table=response[begin:end]
	table=table.replace("</font></td><td><font size=\"2\">","!")
	table=table.replace("</font></td>", "")
	while True:
		a=table.replace("  ", " ")
		if a==table:
			break
		table=a
	enum=['Rufzeichen','Klasse','persönliches Rufzeichen','Inhaber','Betriebsort']
	table=table.split("!")
	for i in range(0,len(enum)):
		print enum[i]+": " +table[i]
	sys.exit(0)
 
if __name__ == "__main__":
	main(sys.argv)