summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsiddharth <rsd@gnu.org>2018-03-22 04:19:04 +0000
committerrsiddharth <rsd@gnu.org>2018-03-22 04:34:33 +0000
commit9f2f570a45a4b01a14b5d03cb598ab73114d9eb7 (patch)
tree19c79a456a3ba0a4a3971871c0234f4725562699
parent8f83f1b38c108615e39c697c08f2172b8cafd8f8 (diff)
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.
-rw-r--r--lps_gen.py9
-rw-r--r--tests/test_lps_gen.py10
2 files changed, 13 insertions, 6 deletions
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
diff --git a/tests/test_lps_gen.py b/tests/test_lps_gen.py
index 4ac2730..e32b52e 100644
--- a/tests/test_lps_gen.py
+++ b/tests/test_lps_gen.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
-# Copyright (C) 2015-2016 lpschedule-generator contributors. See CONTRIBUTORS.
+# Copyright (C) 2018 lpschedule-generator contributors. See CONTRIBUTORS.
#
# This file is part of lpschedule-generator.
#
@@ -188,6 +188,14 @@ class TestLPiCal(object):
[None, None, None],
' ':
[None, None, None],
+ '10:00 - 10:45 - Keynote':
+ ['10:00', '10:45', 'Keynote'],
+ '16:20 - 17:05':
+ ['16:20', '17:05', ''],
+ '16:25-17:25':
+ ['16:25', '17:25', ''],
+ '17:05-17:15 - Break':
+ ['17:05', '17:15', 'Break']
}
for string, timeslot in timeslots.iteritems():