From 3d15275945bbc3734383b0183c26e4f6fbb0702b Mon Sep 17 00:00:00 2001 From: Karl Newell Date: Wed, 10 Apr 2019 12:24:57 -0700 Subject: [PATCH] Update main.py. Fix timedelta weeks detection --- main.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index 2d2fe43..e24eaa6 100644 --- a/main.py +++ b/main.py @@ -94,7 +94,7 @@ def modFlowRoute(self, flowRouteData=None): env = Environment(autoescape=False, loader=FileSystemLoader('./template'), trim_blocks=False, lstrip_blocks=False) template = env.get_template('mod-flow-route.conf') - print template.render(flowRouteData) + #print(template.render(flowRouteData)) my_router = None for router in self.routers: @@ -218,11 +218,19 @@ def getActiveFlowRoutes(self): _age['current'] = datetime.timedelta(hours=int(ms[0]), minutes=int(ms[1]), seconds=int(ms[2])) else: - pattern = r'(.*)\s(.*?):(.*?):(.*)' + pattern = r'(.*w)?(.*)\s(.*?):(.*?):(.*)' regex = re.compile(pattern) age = re.findall(regex, flow.age) - _age['current'] = datetime.timedelta(days=int(age[0][0][:-1]), hours=int(age[0][1]), - minutes=int(age[0][2]), seconds=int(age[0][3])) + if age[0][0][:-1] is '': + weeks = 0 + else: + weeks = int(age[0][0][:-1]) + _age['current'] = datetime.timedelta( + weeks=weeks, + days=int(age[0][1][:-1]), + hours=int(age[0][2]), + minutes=int(age[0][3]), + seconds=int(age[0][4])) pattern = r'([^\s]+)' regex = re.compile(pattern)