import re
rx = r"(\d+):(\d+)(?:-(\d+):(\d+))? (.*)"
strs = ["12:30 Test", "12:30-12:50 Test"]
for str in strs:
m = re.search(rx, str)
if m:
print(m.groups())
aW1wb3J0IHJlCnJ4ID0gciIoXGQrKTooXGQrKSg/Oi0oXGQrKTooXGQrKSk/ICguKikiCnN0cnMgPSBbIjEyOjMwIFRlc3QiLCAiMTI6MzAtMTI6NTAgVGVzdCJdCmZvciBzdHIgaW4gc3RyczoKCW0gPSByZS5zZWFyY2gocngsIHN0cikKCWlmIG06CgkJcHJpbnQobS5ncm91cHMoKSk=
('12', '30', None, None, 'Test')
('12', '30', '12', '50', 'Test')