#!/usr/bin/env python
# -*- coding: utf-8 -*-

# SHORT, FIRSTNAMES, GENERAL and EXCEPTIONS define lists of last segment exceptions
# that do not form street name inconsistencies.
# Each of the lists is manually edited after reviewing the candidates generated by the name segment.

# Street names that are made of single letters, Roman numbers ,etc
SHORT  = [
    u'A',
    u'A1',
    u'A6',
    u'B',
    u'C',
    u'C1',
    u'C2',
    u'D',
    u'E',
    u'S',
    u'S7',
    u'I',
    u'II',
    u'III',
    u'IV',
    u'1943',
    u'21',
]
# Firstnames (usually coming from 'św. Jana' (Saint John's)).
FIRSTNAMES = [
    u'Benedykta',
    u'Filipa',
    u'Kazimierza',
    u'Anny',
    u'Wincentego',
    u'Stanisława',
    u'Marka',
    u'Augusta',
    u'Jana',
    u'Tomasza',
    u'Piotra',
    u'Jacka',
    u'Magdaleny',
    u'Sebastiana',
    u'Seweryna',
    u'Jadwigi',
    u'Tadeusza',
    u'Józefa',
    u'Bartosza',
    u'Jakuba',
    u'Heleny',
    u'Zygmunta',
    u'Wandy',
    u'Mikołaja',
    u'Faustyny',
    u'Marii',
    u'Witolda',
    u'Dominika',
    u'Kingi',
    u'Hanny',
    u'Rafała',
    u'Magda',
    u'Franciszka',
    u'Ludwika',
    u'Róży',
    u'Marcina',
    u'Wojciecha',
    u'Bogdana',
    u'Krzysztofa',
    u'Walentego',
    u'Wacława',
    u'Edwarda',
    u'Alberta',
    u'Grażyny',
    u'Barbary',
    u'Napoleona',
]
# General words in polish language
GENERAL = [
    u'Wieś',
    u'Piaski',
    u'Jar',
    u'Krakowskich',
    u'Pola',
    u'Zacisze',
    u'Piaski',
    u'Błonie',
    u'Wiatra',
    u'Zakątek',
    u'Cegielni',
    u'Białego',
    u'Wzgórze',
    u'Rybna',
    u'Stok',
    u'Kuźni',
    u'Górka',
    u'Góra',
    u'Nowe',
    u'Strugą',
    u'Wola',
    u'Dębowiec',
    u'Rynek',
    u'Droga',
    u'Krzyża',
    u'Jałowcowa',
    u'Krakowska',
    u'Biała',
    u'Powstańców',
    u'Proc',
    u'Torowa',
    u'Legionów',
    u'Mała',
    u'Leśna',
    u'Zielona',
    u'Podgórki',
    u'Zaułek',
    u'Jagodowa',
    u'Zadworze',
    u'Ostrów',
    u'Złota',
    u'Okrężna',
    u'Szkoła',
    u'Polskich',
    u'Doły',
    u'Podlas',
    u'Górny',
    u'Błotniska',
    u'Starego',
    u'Koło',
    u'Woda',
    u'Dąbia',
    u'Czerwona',
    u'Ples',
    u'Zagaj',
    u'Kwiatów',
    u'Kopce',
    u'Kwatery',
    u'Kozia',
    u'Lotnisko',
    u'Ducha',
    u'Gaj',
    u'Brzegi',
    u'Wzgórza',
    u'Dół',
    u'TBD',
    u'Szlak',
    u'Zuchów',
    u'Września',
    u'Trakt',
    u'Północna',
    u'Batalionu',
    u'Wjazd',
    u'Kacza',
    u'Przyjaźni',
    u'Niepodległości',
    u'Sportowa',
    u'Wapienna',
    u'Skarpie',
    u'Królewska',
    u'Majora',
    u'Sad',
    u'roku',
    u'Pana',
    u'Dolina',
    u'Wielkiego',
    u'Las',
    u'Świat',
    u'Dolna',
    u'Ogrody',
    u'Uśmiech',
    u'Uśmiechu',
    u'Kładka',
    u'Osiedle',
    u'Potok',
    u'Sierpnia',
    u'Błonia',
    u'Grobla',
    u'Łąka',
    u'Boczna',
    u'Południowa',
    u'Zagajnik',
    u'Winna',
    u'Skałą',
    u'Gajowa',
    u'Kąt',
    u'projektowana',
    u'Górki',
    u'Polnych',
    u'Narodowa',
    u'Zielone',
    u'Broni',
    u'Plaza',
    u'Nowa',
    u'Polski',
    u'Winnicka',
    u'Listopada',
    u'Nowy',
    u'Sosnowa',
    u'Kącik',
    u'Smocza',
    u'Wschodnia',
    u'Strusia',
    u'Polanka',
    u'Polana',
    u'Zgody',
    u'Polne',
    u'Plac',
    u'Skał',
    u'Ogród',
    u'Księcia',
    u'park',
    u'Młynów',
    u'Wale',
    u'Zwycięstwa',
    u'boczna',
    u'Deptak',
    u'Nieznana',
    u'Chodnik',
    u'Strumyk',
    u'Krótka',
    u'Widok',
    u'Skałki',
    u'Zimna',
    u'Brzeg',
    u'Uroczysko',
    u'Kasztanowa',
    u'Róż',
    u'Most',
    u'Łany',
    u'Stoku',
    u'Parkowe',
    u'Kąty',
    u'Browar',
    u'Górą',
    u'Miłosierdzia',
    u'Łąki',
    u'Rodziny',
    u'Młyńska',
]

# Manually review exceptions
EXCEPTIONS = [
    u'Mickiewicza',       # Adama Mickiewicza,Wieliczka, Park Adama Mickiewicza,Wieliczka
    u'Kamieniec',         # Kamieniec,Ochojno, Mały Kamieniec,Ochojno
    u'Sienkiewicza',      # Henryka Sienkiewicza,Wieliczka, Osiedle Henryka Sienkiewicza,Wieliczka
    u'Prażmowskiego',     # Aleja Pułkownika Władysława Beliny-Prażmowskiego,Kraków,  Adama Prażmowskiego,Kraków
    u'Kościuszki',        # Tadeusza Kościuszki,Wieliczka,  Osiedle Tadeusza Kościuszki,Wieliczka
    u'Kościuszko',        # Osiedle Kościuszkowskie, Kraków (23)        Kościuszkowców, Kraków (28)
    u'Kościuszkowskie',   # ..
    u'Suszówka',          # Suszówka,Niepołomice,  Osiedle Suszówka,Niepołomice
    u'Nowaka',            # Jana Nowaka,Kraków, Plac Jana Nowaka-Jeziorańskiego,Kraków
    u'Maja',              # Aleja 3 Maja,Kraków  Księdza Franciszka Maja,Kraków
    u'Polskiego',         # Merkuriusza Polskiego,Kraków  Polskiego Czerwonego Krzyża,Kraków
    u'Piłsudskiego',      # Legionów Józefa Piłsudskiego,Kraków  Marszałka Józefa Piłsudskiego,Kraków
    u'Komorowskiego',     # Generała Tadeusza Bora-Komorowskiego,Kraków,  Bolesława Komorowskiego,Kraków
    u'Olszyny',           # Generała Józefa Olszyny-Wilczyńskiego,Kraków,  Olszyny,Kraków
    u'Sucha',             # Sucha,Kraków,  Majora Henryka Sucharskiego,Kraków
    u'Smoleńsk',          # Jerzego Smoleńskiego,Kraków,  Smoleńsk,Kraków
    u'Korabnicka',        # Korabnicka-Boczna,Skawina,  Korabnicka,Skawina
    u'Wisły',             # Na Zakolu Wisły, Kraków     Do Wisły, Kraków
    u'Ułanów',            # Ułanów, Kraków (15)     ul. 8 Pułku Ułanów - projektowana
    u'Czerwieński',       # Bulwar Czerwieński, Kraków (7)      Bolesława Czerwieńskiego, Kraków (17)
    u'Broniewskiego',     # Władysława Broniewskiego, Kraków (11)   Harcmistrza Stanisława Orszy-Broniewskiego, Kraków (5)
    u'Długosza',          # Jana Długosza, Kraków (17)      Alfonsa Długosza, Kraków (1)
    u'Siedlecka',         # Droga Siedlecka, Kraków (1)     Siedlecka, Kraków (1)
    u'Grunwaldzki',       # Rondo Grunwaldzkie, Kraków (8)      Most Grunwaldzki, Kraków (5)
    u'Piastowskie',
    u'Głowackiego',       # Wojciecha Bartosza Głowackiego, ??? (17)     Bartosza Głowackiego, ??? (7)
    u'Grochowa',          # Grochowa, Kraków (37)       Doktora Feliksa Grochowalskiego, Kraków (1)
    u'Łagiewnicka',       #	Trasa Łagiewnicka - projektowana, Kraków (1)        Łagiewnicka, Kraków (26)
    u'Brodowicza',        # Józefa Brodowicza, Kraków (43)      Józefa Brodowicza boczna, Kraków (1)
    u'Piastowskie',       # Rondo Piastowskie, Kraków (4)       Osiedle Piastowskie, Kraków (1)
    u'Skawiny',           # Obwodnica Skawiny etap I, Kraków (1)        Obwodnica Skawiny, Kraków (2)
    u'Wiślisko',          # Stare Wiślisko, Kraków (62)     Wiślisko, Kraków (9)
    u'Lipowiec',          # Lipowiec, Kraków (1)        Na Lipowiec, Kraków (1)
    u'Batorego',          # Dziedziniec Batorego, Kraków (1)        Stefana Batorego, Kraków (34)
    u'Ordona',            # Juliusza Konstantego Ordona, Kraków (1)     Juliana Ordona, Kraków (1)
    u'Owsiana',           # Owsiana Boczna, Kraków (1)      Owsiana, Kraków (14)
    u'Dobczyc',           # Dobczycka, Kraków (46)      Obwodnica Dobczyc, Kraków (7)
    u'Radziwiłłów',       # Barbary Radziwiłłówny, Kraków (1)       Radziwiłłów, Kraków (4)
    u'Krakusa',           # Kopiec Krakusa, Kraków (1)         Krakusa, Kraków (24)
    u'Godlewskiego',      # Emila Godlewskiego, Kraków (14)     Pułkownika Edwarda Gardy-Godlewskiego, Kraków (1)
    u'Poniatowskiego',    # Józefa Poniatowskiego, Kraków (1)       Stanisława Augusta Poniatowskiego, Kraków (55)
    u'Wygwizdów',         #	Wygwizdów, Kraków (1)       Na Wygwizdów, Kraków (1)
    u'Ugorek',
    u'Zakrzów',
    u'Wiklinowa',
    u'Domagały',
    u'Skotnica',
    u'Tarnów',
    u'Żeleńskiego',       # Władysława Żeleńskiego, Kraków (82),        Żeleńskiego, Wielczika (3)
    u'Sikorskiego',
    u'Żywiecka',
    u'Malinowskiego',
    u'Dębnicki',
    u'Półłanki',
    u'Matejki',
    u'Rusznikarska',
    u'Proszowic',
    u'Szymanowskiego',
    u'Kossaka',
    u'Solidarności',
    u'Chełmońskiego',
    u'Wiślana',
    u'Zielińskiego',
    u'Krzemieniec',
    u'AK',
    u'Kupa',
    u'Zimnowiec',
    u'Zielonki',
    u'Katowice',
    u'Łęg',
    u'Pietrusińskiego',
    u'Asnyka',
    u'Błonie-Beszcz',
    u'Sawickiego',
    u'Bielaka',
    u'Hallera',
    u'Okręglik',
    u'Śląskich',
    u'Jurajska',
    u'Bogdańca',
    u'Ujastek',
    u'Radziszowska',
    u'Głogowa',
    u'Kraków',
    u'Bogumiła',
    u'Iwaszki',
    u'Libertowska',
    u'Drożdżownik',
    u'Strzelców',
    u'Półkole',
    u'Żółkiewskiego',
    u'Popiełuszki',
    u'Targosza',
    u'Kantego',
    u'Mogilski',
    u'Janickiego',
    u'Krakowa',
    u'Balicka',
    u'Truszkowskiego',
    u'Dąbska',
    u'Frycza',
    u'Sobieskiego',
    u'Wieliczki'
    u'Rzozów',
    u'Facimiech',
    u'Wieliczki',
    u'Rzozów',
    u'Siedleckiego',
    u'Czeczów',
    u'Krzęcin',
    u'Balanówka',
    u'Glinik',
    u'Norbertanek',
    u'Pułaskiego',
    u'Mistrzejowice',
    u'Niepołomic',
    u'Konopnickiej',
    u'Przedmieście',
    u'Miechowska',
    u'Michalika',
    u'Chłopickiego',
    u'Westerplatte',
    u'Malczewskiego',
    u'Kochanowski',
    u'Kolbego',
    u'Bony',
    u'Korpala',
    u'Dunajewskiego',
    u'Iwaszkiewicza',
    u'Zwierzyniecka',
    u'Rudni',
]

NONUNIFORM = [
    u'Bandtkiego',
    u'Dąbrowskiego',
    u'Radzikowskiego',
    u'Kamieńskiego',
    u'Słowackiego',
    u'Oświecenia',
    u'Floriana',
    u'Limanowskiego',
    u'Reymonta',
    u'Zachodnia',
    u'Grochowiaka',
    u'Kmity',
    u'Spiczakowa',
    u'Życzkowskiego',
    u'Skargi',
    u'Getta',
    u'Miłosza',
    u'Bartla',
    u'Wybickiego',
    u'Idziego',
    u'Kałuży',
    u'Wawelska',
    u'Daszyńskiego',
    u'Straszewskiego',
    u'Wigury',
    u'Salawy',
    u'Konińskiego',
    u'Wiarusa',
    u'Bema',
    u'Katynia',
    u'Felińskiego',
    u'Pileckiego',
    u'Krasińskiego',
    u'Borkowska',
    u'Warszawskiego',
    u'Dębowa',
    u'Śmigłego-Rydza',
    u'Nullo',
    u'Sowińskiego',
    u'Rostworowskiego',
    u'Twardowskiego',
    u'Konarowa',
    u'Medweckiego',
    u'Wiek',
    u'Dembowskiego',
    u'Grottgera',
    u'Pokoju',
    u'Madalińskiego',
    u'Roweckiego',
    u'Modrzewiowa',
    u'Grota-Roweckiego',
    u'Walkowskiego',
]
NONUNIFORM = []
# EXCLUDE_SUB is a full list of segments that should not be used to generate street name
# inconsistency report.
EXCLUDE_SUB = SHORT + FIRSTNAMES + GENERAL + EXCEPTIONS + NONUNIFORM

# Semi-manually created list of fixings from invalid -> consistent.
STREETNAME_FIXINGS = {
    'Henryka Kamieńskiego': 'Generała Henryka Kamieńskiego',
    'Św. Floriana': 'Świętego Floriana',
    'Floriana Straszewsjiego': 'Floriana Straszewskiego',
    'Straszewskiego': 'Floriana Straszewskiego',
    'Witolda Pileckiego': 'Rotmistrza Witolda Pileckiego',
    'Bohaterów Getta': 'Plac Bohaterów Getta',
    'Wojciecha Marii Bartla 19E': 'Wojciecha Marii Bartla',
    'Wladysława Reymonta': 'Władysława Reymonta',
    'Osiedle Złotego Wieku': 'Osiedle Złoty Wiek',
    'Żwirki i Wigury': 'Franciszka Żwirki i Stanisława Wigury',
    'Błogosławionej Anieli Salawy': 'Anieli Salawy',
    'Aleja Edwarda Dembowskiego': 'Edwarda Dembowskiego',
    'Węzeł Ofiar Katynia': 'Rondo Ofiar Katynia',
    'Ofiar Katynia': 'Rondo Ofiar Katynia',
    'Osiedle Oświecenia': 'Oświecenia',
    'Pokoju': 'Aleja Pokoju',
    'Grochowiaka': 'Stanisława Grochowiaka',
    'Zygmunta Felińskiego': 'Arcybiskupa Zygmunta Szczęsnego Felińskiego',
    'Generała Antoniego Józefa Madalińskiego': 'Antoniego Józefa Madalińskiego',
    'Stanisława Kmity': 'Kmity',
    'Profesora Michała Życzkowskiego': 'Życzkowskiego',
    'Stefana Roweckiego': 'Generała Stefana Grota-Roweckiego',
    'Grota-Roweckiego': 'Generała Stefana Grota-Roweckiego',
    'Józefa Bema': 'Generała Józefa Bema',
    'Aleja Zygmunta Krasińskiego': 'Zygmunta Krasińskiego',
    'Aleja Modrzewiowa': 'Modrzewiowa',
    'Góra Borkowska': 'Borkowska',
    'Miłosza': 'Czesława Miłosza',
    'Powstania Warszawskiego': 'Aleja Powstania Warszawskiego',
    'Aleja Dębowa': 'Dębowa',
    'Marszałka Edwarda Śmigłego-Rydza': 'Edwarda Śmigłego-Rydza',
    'Józefa Sowińskiego': 'Generała Józefa Sowińskiego',
    'Walerego Eljasza Radzikowskiego': 'Eljasza Walerego Radzikowskiego',
    'Świętego Idziego': 'Plac św. Idziego',
    'Bolesława Limanowskiego': 'Limanowskiego',
    'Pułkownika Francesco Nullo': 'Francesco Nullo',
    'Zachodnia 21': 'Zachodnia',
    'Wiarusa': 'Starego Wiarusa',
    'Księdza Jana Twardowskiego': 'Twardowskiego',
    'Al. Konarowa': 'Aleja Konarowa',
    'Artura Grottgera': 'Aleja Artura Grottgera',
    'Generała Józefa Wybickiego': 'Józefa Wybickiego',
    'Ignacego Daszyńskiego': 'Aleja Ignacego Daszyńskiego',
    'Daszyńskiego': 'Aleja Ignacego Daszyńskiego',
    'Konińskiego Ludwika': 'Ludwika Konińskiego',
    'Mieczysława Medweckiego': 'Kapitana Mieczysława Medweckiego',
    'Wawelska': 'Aleja Wawelska',
    'Bandtkiego': 'Jerzego Samuela Bandtkiego',
    'Profesora Teodora Spiczakowa': 'prof. Teodora Spiczakowa',
    'Stanisława Rostworowskiego': 'Generała Stanisława Rostworowskiego',
    'Piotra Skargi': 'Księdza Piotra Skargi',
    'Kałuży': 'Józefa Kałuży',
    'Juliusza Słowackiego': 'Aleja Juliusza Słowackiego',
    'Jana Henryka Dąbrowskiego': 'Generała Jana Henryka Dąbrowskiego',
    'Jarosława Dąbrowskiego': 'Generała Jana Henryka Dąbrowskiego',
    'Dr. J. Walkowskiego': 'Doktora Jana Walkowskiego',
}
