diff -r f6b73571a6b8 -r ddf7c58091ef busroute.py --- a/busroute.py Sun Jul 02 16:38:37 2017 +0300 +++ b/busroute.py Tue Jul 11 09:10:31 2017 +0300 @@ -51,16 +51,15 @@ 'Ihala': 150, 'Kauppakeskus Mylly': 200, 'Kuninkoja': 80, - 'Moikoinen': 60, + 'Moikoinen': 80, 'Raision keskusta': 150, - 'Friskala': 20, 'Kukola': 50, 'Kaistarniemi': 50, 'Papinsaari': 50, 'Oriniemi': 50, 'Pikisaari': 50, 'Häppilä': 20, - 'Haarla': 50, + 'Haarla': 80, 'Ylioppilaskylä': 50, 'Halinen': 70, 'Kakskerta': 200, @@ -110,6 +109,11 @@ "Sauvo": 500, "Kemiönsaari": 500, 'Suovuori': 300, + 'Eerikvalla': 50, + 'Petäsmäki': 50, + 'Tortinmäki': 50, + 'Aura': 100, + 'Friskala': -1, } if 'Kauppatori' not in reitti: @@ -120,6 +124,9 @@ reitti_arvot = {} f = lambda i: i**-0.3 factor = 1 / max(f(i + 1) for i in range(len(reitti))) + while priorities.get(reitti[-1], 0) < 0: + del reitti[-1] + destination = reitti[-1] for i, stop in enumerate(reitti): # muunna indeksi siten että myöhemmät alueet korostuvat i = f(i + 1) * factor @@ -141,7 +148,7 @@ weights = weights[:3] # jos kolmas kylttiarvo ei ole tarpeeksi merkittävä suhteessa reitin pituuteen niin otetaan se pois try: - if weights[2][0] != destination and weights[2][1] < (900 / length ** 0.8): + if weights[2][0] != destination and weights[2][1] < (725 / length ** 0.8): del weights[2] except IndexError: pass @@ -167,6 +174,8 @@ result = finalise(sign, abbreviation_level = 1) if whole: result = [from_place] + result + if not result: + result = [destination] short_from_place = replacements.get(from_place, from_place) if ( short_from_place != result[-1]