From b3acf18bffa2e552c60e6ab744ef33d339f4879f Mon Sep 17 00:00:00 2001 From: Arve Skogvold Date: Fri, 6 May 2016 01:02:28 +0200 Subject: [PATCH 1/2] Remove expiry failure in tests Tests are failing due to a warning that the feed is expired. This extends the feed to 2025, as a quick fix to the problem. --- tests/data/good_feed/calendar.txt | 4 ++-- tests/data/googletransit/good_feed/calendar.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/data/good_feed/calendar.txt b/tests/data/good_feed/calendar.txt index 0da4c8ff..cac4aea1 100644 --- a/tests/data/good_feed/calendar.txt +++ b/tests/data/good_feed/calendar.txt @@ -1,3 +1,3 @@ service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date -FULLW,1,1,1,1,1,1,1,20070101,20151231 -WE,0,0,0,0,0,1,1,20070101,20151231 +FULLW,1,1,1,1,1,1,1,20070101,20251231 +WE,0,0,0,0,0,1,1,20070101,20251231 diff --git a/tests/data/googletransit/good_feed/calendar.txt b/tests/data/googletransit/good_feed/calendar.txt index 0da4c8ff..cac4aea1 100644 --- a/tests/data/googletransit/good_feed/calendar.txt +++ b/tests/data/googletransit/good_feed/calendar.txt @@ -1,3 +1,3 @@ service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date -FULLW,1,1,1,1,1,1,1,20070101,20151231 -WE,0,0,0,0,0,1,1,20070101,20151231 +FULLW,1,1,1,1,1,1,1,20070101,20251231 +WE,0,0,0,0,0,1,1,20070101,20251231 From d90455a60d8bc194b438f0bf820131a56de323ed Mon Sep 17 00:00:00 2001 From: Arve Skogvold Date: Fri, 6 May 2016 00:51:22 +0200 Subject: [PATCH 2/2] Fix for truncating periods with undefined date range. Fixes #413 max(0, None) resulted in start_date being set to 0 (integer). This crashed at a later point when trying to parse the date string 0 (int). Now explicitly handling None when truncating. --- merge.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/merge.py b/merge.py index 0bb759f7..a22e56d0 100755 --- a/merge.py +++ b/merge.py @@ -1182,8 +1182,10 @@ def TruncatePeriod(service_period, start, end): start: The start date as a string in YYYYMMDD format. end: The end date as a string in YYYYMMDD format. """ - service_period.start_date = max(service_period.start_date, start) - service_period.end_date = min(service_period.end_date, end) + if service_period.start_date is not None: + service_period.start_date = max(service_period.start_date, start) + if service_period.end_date is not None: + service_period.end_date = min(service_period.end_date, end) dates_to_delete = [] for k in service_period.date_exceptions: if (k < start) or (k > end): @@ -1200,7 +1202,7 @@ def TruncatePeriod(service_period, start, end): before = (cutoff_date - one_day_delta).strftime('%Y%m%d') for a in self.feed_merger.a_schedule.GetServicePeriodList(): - TruncatePeriod(a, 0, before) + TruncatePeriod(a, '0'*8, before) for b in self.feed_merger.b_schedule.GetServicePeriodList(): TruncatePeriod(b, cutoff, '9'*8)