From 9f2f570a45a4b01a14b5d03cb598ab73114d9eb7 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Thu, 22 Mar 2018 04:19:04 +0000 Subject: lps_gen.py: Update LPiCal timeslot regex slurping. Now matches time slots of the form: 09:45 - 10:30: Lorem ipsum dolor sit. or 09:45 - 10:30 - Lorem ipsum dolor sit. or 09:45 - 10:30 * lps_gen.py (LPiCal.timeslot_r): Update variable. (LPiCal.get_timeslot): Update method. * tests/test_lps_gen.py (TestLPiCal.test_get_timeslot): Update test. --- lps_gen.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'lps_gen.py') diff --git a/lps_gen.py b/lps_gen.py index acaabf2..23fbede 100644 --- a/lps_gen.py +++ b/lps_gen.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2015-2017 lpschedule-generator contributors. See -# CONTRIBUTORS. +# Copyright (C) 2018 lpschedule-generator contributors. See CONTRIBUTORS. # # This file is part of lpschedule-generator. # @@ -120,7 +119,7 @@ class LPiCal(object): # Matches strings like '09:45 - 10:30: Lorem ipsum dolor sit.' self.timeslot_re = re.compile(r'(\d+:\d+).+?(\d+:\d+)' - + r':?\s*(.+\b)?') + r'\s*[:-]?\s*(.+\b)?') # Matches strings like 'Saturday, March 19' self.month_day_re = re.compile(r'\w+,\s*([a-zA-Z]+)\s*(\d+)') @@ -153,12 +152,12 @@ class LPiCal(object): timeslot = self.timeslot_re.search(s) - if (not timeslot) or (len(timeslot.groups()) < 3): + if not timeslot: return None, None, None t_start = timeslot.group(1) t_end = timeslot.group(2) - name = timeslot.group(3) + name = timeslot.group(3) or '' return t_start, t_end, name -- cgit v1.2.3