#Entfernungen berechnen
#Python 2.7
#Author Gunnar Egenolff
#letzte Bearbeitung 16.5.19
import re
debug = 0
#2x fuer Start und Ziel
lon = []
lat = []
    #Eingabe Ort
eingabe = raw_input("Ort: ")
s = list(eingabe)
print s
if debug == 1: print "Eingabe als Liste: ", (s)
laenge = len(s)
if debug == 1: print "Anzahl der Listenelemente / Laenge der Eingabe: ", (laenge)

    #Umwandlung Ortsname in Suchbegriff mit Toleranz

x = []
i = 0
while i <= laenge - 1: #legt Liste mit regulaeren Ausdruecken an
    if debug == 1: print "Position des ersetzten Buchstaben: ", s[i]
    t = s[:] #Originalliste soll erhalten bleiben, gearbeitet wird mit modifizierter Liste
    t.insert(i,".?.?") #je ein Buchstabe wird durch Punkt ersetzt
    del t[i+1]
    mod = "".join(t)
    x.append("\t" + mod + "\s") #stellt sicher, dass Name nicht Teil eines laengeren Namens
    if debug == 1: print "geaenderte Liste: ", t
    if debug == 1: print "originale Liste: ", s
    if debug == 1: print "Liste der Suchbegriffe: ", x
    
    i = i + 1

    



    
    #zeilenweises Auslesen der Ortedatei, Abgleich mit Suchbegriff

linenr = 0
j = 0
k = 1
schonmalgesehen = []
while j <= len(x) - 1: #fragt nacheinander alle Versionen des Ortsnamens ab
    linenr = 0
    input = open("DE.tab")
    Suchbegriff = str(x[j])
    while True: # liest Datenbank zeilenweise aus
        line = input.readline()
        if not line: break
        linenr += 1
        if re.search(Suchbegriff, line) and not linenr in schonmalgesehen: #findet Ortsname
            Liste = line.split("\t")
            print k, Liste[7], Liste[3], Liste[4], Liste[5] #Ausgabe Plz, Ortsname, lon, lat
	    lon.append(Liste[4])
	    lat.append(Liste[5])
	    k += 1
	    schonmalgesehen.append(linenr)
	    print schonmalgesehen
	    if debug == 1: print lon, lat
    if debug == 1: print "Suchbegriff: ", str(x[j])
    j+=1
    line = True

    #Aufforderung zur Auswahl

#Berechnung der Entfernung
