Skip to content

Commit

Permalink
fix #13478
Browse files Browse the repository at this point in the history
  • Loading branch information
namdre committed Jun 22, 2023
1 parent 2e973db commit 64984d6
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion tools/generateRailSignalConstraints.py
Expand Up @@ -417,7 +417,7 @@ def getStopRoutes(net, options, stopEdges, stopEnds, bidiStops):
begin = parseTime(options.begin)
for vehicle in sumolib.xml.parse(options.routeFile, 'vehicle', heterogeneous=True):
depart = parseTime(vehicle.depart)
if depart < begin:
if depart is not None and depart < begin:
continue
departTimes[vehicle.id] = depart
numRoutes += 1
Expand Down
16 changes: 12 additions & 4 deletions tools/sumolib/miscutils.py
Expand Up @@ -235,15 +235,23 @@ def humanReadableTime(seconds):
return sign + result


SPECIAL_TIME_STRINGS = ["triggered", "containerTriggered", "split", "begin"]
def parseTime(t, factor=1):
try:
return float(t) * factor
except ValueError:
pass
# prepended zero is ignored if the date value already contains days
days, hours, minutes, seconds = ([0] + list(map(float, t.split(':'))))[-4:]
sign = -1 if t.strip()[0] == '-' else 1
return (3600 * 24 * days + 3600 * hours + 60 * minutes + seconds) * sign
try:
# prepended zero is ignored if the date value already contains days
days, hours, minutes, seconds = ([0] + list(map(float, t.split(':'))))[-4:]
sign = -1 if t.strip()[0] == '-' else 1
return (3600 * 24 * days + 3600 * hours + 60 * minutes + seconds) * sign * factor
except ValueError:
if t in SPECIAL_TIME_STRINGS:
# signal special case but don't crash
return None
else:
raise


def parseBool(val):
Expand Down

0 comments on commit 64984d6

Please sign in to comment.