fix parse hour

This commit is contained in:
Florian Bezannier
2021-05-24 14:25:25 +02:00
parent aefb1601c0
commit 0a8c1eab42
2 changed files with 19 additions and 17 deletions
+17 -15
View File
@@ -1,9 +1,9 @@
import re
from functools import wraps
from threading import Semaphore, Timer
import socket
import requests
from typing import List
from mylogger import logger
@@ -50,17 +50,19 @@ def is_port_in_use(ip, port):
return s.connect_ex((ip, port)) == 0
def parse_hour(hour_str):
reg = r"PT([0-9]{1,2})H([0-9]{1,2})?|PT([0-9]{1,2})S"
hour_minute = re.findall(reg, hour_str)[0]
second = 0
if hour_minute[0] == '':
hour = 0
second = hour_minute[2]
else:
hour = int(hour_minute[0])
if hour_minute[1] == '':
minute = 0
else:
minute = hour_minute[1]
return hour, minute, second
def parse_hour(s):
s = s[2:]
separators = ("H", "M", "S")
res: List[int] = []
for sep in separators:
if sep in s:
n, s = s.split(sep)
else:
n = 0
res.append(int(n))
if s.isnumeric():
res.append(int(s))
break
if len(res) == 2:
res.append(0)
return res
+2 -2
View File
@@ -251,8 +251,8 @@ class TestUnit(unittest.TestCase):
assert old_dummy_value != dummy_value
def test_parse_hour(self):
expected_res = [(2, 0, 0), (3, '14', 0), (0, 0, '2')]
assert expected_res == [parse_hour(h) for h in ["PT2H", "PT3H14", "PT2S"]]
expected_res = [[2, 0, 0], [3, 14, 0], [0, 0, 2], [0, 30, 0]]
assert expected_res == [parse_hour(h) for h in ["PT2H", "PT3H14", "PT2S", "PT30M"]]
if __name__ == '__main__':