GCViennaSubway / utils.py
msiklar's picture
add final coords
1fd2c08
Raw History Blame Contribute Delete
4.77 kB
# Text in English and German for display in UI
text_dict={
'step1':{'English': 'STEP 1 - Enter your Geocaching name:',
'Deutsch': 'SCHRITT 1 - Gib deinen Geocaching Namen ein:'
},
'step2':{'English': 'STEP 2 - The following spelling of your nicknameame can be constructed from Vienna subway station names:',
'Deutsch': 'SCHRITT 2 - Die folgende Variante deines Nicknamens kann aus wiener U-Bahnstationen erzeugt werden:'
},
'step3':{'English': 'STEP 3 - Upload your image:',
'Deutsch': 'SCHRITT 3 - Lade dein Bild hoch:'
},
'explanation':{'English': 'See explanation - Which stations can you visit to costruct my nickname?',
'Deutsch': 'Erklärung - Welche Stationen kann ich besuchen um meinen Nicknamen zu erzeugen?'
},
'wait':{'English': 'wait for it...',
'Deutsch': 'bitte warten...'
},
'letter':{'English': 'Letter',
'Deutsch': 'Buchstabe'
},
'stations':{'English': 'Stations with that letter',
'Deutsch': 'Stationen mit dem Buchstaben'
},
'detect':{'English': 'The following text was detected in the image:',
'Deutsch': 'Folgender Text wurde im Bild detektiert:'
},
'correct':{'English': "The detected image text matches your nickname! The final coordinates are N48° 11.966' E016° 22.108'",
'Deutsch': "The detektierte Text im Bild entspricht deinem Nicknamen! Die finalen Koordinaten sind N48° 11.966' E016° 22.108'"
},
'wrong':{'Deutsch': 'Der detektierte Text im Bild entspricht nicht deinem Nicknamen!',
'English': 'The detected image text doesnt match your nickname!'
}
}
def construct_possible_nickname(input):
"""
Function for converting nickname to possible nickname that can be constructed from subway station names used in app
"""
stations = ['U1:Oberlaa', 'U1:Neulaa', 'U1:Alaudagasse', 'U1:Altes Landgut', 'U1:Troststraße', 'U1:Reumannplatz', 'U1:Keplerplatz', 'U1:Südtiroler Platz – Hauptbahnhof', 'U1:Taubstummengasse', 'U1:Karlsplatz', 'U1:Stephansplatz', 'U1:Schwedenplatz', 'U1:Nestroyplatz', 'U1:Praterstern', 'U1:Vorgartenstraße', 'U1:Donauinsel', 'U1:Kaisermühlen – Vienna International Centre', 'U1:Alte Donau', 'U1:Kagran', 'U1:Kagraner Platz', 'U1:Rennbahnweg', 'U1:Aderklaaer Straße', 'U1:Großfeldsiedlung', 'U1:Leopoldau',
'U2:Seestadt', 'U2:Aspern Nord', 'U2:Hausfeldstraße', 'U2:Aspernstraße', 'U2:Donauspital', 'U2:Hardeggasse', 'U2:Stadlau', 'U2:Donaustadtbrücke', 'U2:Donaumarina', 'U2:Stadion', 'U2:Krieau', 'U2:Messe – Prater', 'U2:Praterstern', 'U2:Taborstraße', 'U2:Schottenring', 'U2:Schottentor', 'U2:Rathaus', 'U2:Volkstheater', 'U2:Museumsquartier', 'U2:Karlsplatz',
'U3:Ottakring', 'U3:Kendlerstraße', 'U3:Hütteldorfer Straße', 'U3:Johnstraße', 'U3:Schweglerstraße', 'U3:Westbahnhof', 'U3:Zieglergasse', 'U3:Neubaugasse', 'U3:Volkstheater', 'U3:Herrengasse', 'U3:Stephansplatz', 'U3:Stubentor', 'U3:Landstraße', 'U3:Rochusgasse', 'U3:Kardinal-Nagl-Platz', 'U3:Schlachthausgasse', 'U3:Erdberg', 'U3:Gasometer', 'U3:Zippererstraße', 'U3:Enkplatz', 'U3:Simmering',
'U4:Hütteldorf', 'U4:Ober St. Veit', 'U4:Unter St. Veit', 'U4:Braunschweiggasse', 'U4:Hietzing', 'U4:Schönbrunn', 'U4:Meidling Hauptstraße', 'U4:Längenfeldgasse', 'U4:Margaretengürtel', 'U4:Pilgramgasse', 'U4:Kettenbrückengasse', 'U4:Karlsplatz', 'U4:Stadtpark', 'U4:Landstraße', 'U4:Schwedenplatz', 'U4:Schottenring', 'U4:Roßauer Lände', 'U4:Friedensbrücke', 'U4:Spittelau', 'U4:Heiligenstadt',
'U6:Siebenhirten', 'U6:Perfektastraße', 'U6:Erlaaer Straße', 'U6:Alterlaa', 'U6:Am Schöpfwerk', 'U6:Tscherttegasse', 'U6:Bahnhof Meidling', 'U6:Niederhofstraße', 'U6:Längenfeldgasse', 'U6:Gumpendorfer Straße', 'U6:Westbahnhof', 'U6:Burggasse – Stadthalle', 'U6:Thaliastraße', 'U6:Josefstädter Straße', 'U6:Alser Straße', 'U6:Michelbeuern – Allgemeines Krankenhaus', 'U6:Währinger Straße – Volksoper', 'U6:Nußdorfer Straße', 'U6:Spittelau', 'U6:Jägerstraße', 'U6:Dresdner Straße', 'U6:Handelskai', 'U6:Neue Donau', 'U6:Floridsdorf']
target_stations = {}
target_nickname = ""
last_index = -1
for letter_index in range(0,len(input)):
current_letter = input[letter_index]
tmp_stations = []
for station in stations:
if current_letter.lower() in station.lower()[3:]:
tmp_stations.append(station)
if last_index != letter_index:
target_nickname += current_letter
last_index = letter_index
target_stations[current_letter]=tmp_stations
return target_stations, target_nickname