Python jumps to unexpected line, cannot explain why.
afstand1 = 3000
maxafstand = 10000
The first if statement jumps immediately to the last if statement (if routerow.srcmultilock:) Indenting is ok. if I change the if statement to if False: it works fine. In debugger afstand1>maxafstand returns False
'''
if afstand1 > maxafstand:
#if False:
return -1, srcselect, nextleg, legprev_prevleg
# ligt de eindtijd van de voorgaande leg plus reistijd na begintijd in te voegen leg?
if legprevslot[EIND] > dstslot[BEGIN]:
# vroegste begintijd binnen dstslot niet mogelijk, laatste begintijd proberen
if dstslot[EIND] - dstslot[TIJDDUUR] * 60 - tijd1 * 60 > legprevslot[EIND]: return -1, srcselect,
nextleg, legprev_prevleg
# is de totale omweg groter t.o.v. de leg groter dan de maximale afstand tussen twee dst's?
if afstand1 + afstand2 - afstand0 > maxafstand: return -1, srcselect, nextleg, legprev_prevleg
# tenslotte: tussenvoegen is in principe mogelijk
# kleinste totaalafstand naar en van de tussen te voegen dst
if afstand1 + afstand2 < afstand_tot: afstand_tot = afstand1 + afstand2
if routerow.srcmultilock:
# eventuele meerdere src's op deze route moeten verplicht bij elkaar blijven
srcselect.append(srckey)
else:
# indien meer dan 1 src in deze leg: de geselecteerde leg wordt ondergebracht in een nieuwe route
# die straks een pointer krijgt naar de huidige leg
srcselect = [srckey]
if len(leg.srckey) > 1:
# nextleg = [routerow.rtkey, legrow]
nextleg = {'rtkey': routerow.rtkey, 'legrow': legrow}
'''
Aucun commentaire:
Enregistrer un commentaire