From c1652f9725f5ba7d3c85601d6c247821e1bc6958 Mon Sep 17 00:00:00 2001 From: "Dustin J. Mitchell" Date: Sun, 6 Apr 2014 21:12:26 -0400 Subject: [PATCH] fix py25 compat: strptime doesn't support %f --- master/buildbot/changes/bitbucket.py | 4 +++- .../buildbot/test/unit/test_changes_bitbucket.py | 14 ++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/master/buildbot/changes/bitbucket.py b/master/buildbot/changes/bitbucket.py index f47b6947b70..ae78fd4fa10 100644 --- a/master/buildbot/changes/bitbucket.py +++ b/master/buildbot/changes/bitbucket.py @@ -112,7 +112,9 @@ def _processChanges(self, page): prlink = pr['links']['html']['href'] # Get time updated time. Note that the timezone offset is ignored. if self.useTimestamps: - updated = datetime.strptime(pr['updated_on'][:-6], '%Y-%m-%dT%H:%M:%S.%f') + updated = datetime.strptime( + pr['updated_on'].split('.')[0], + '%Y-%m-%dT%H:%M:%S') else: updated = datetime.now() title = pr['title'] diff --git a/master/buildbot/test/unit/test_changes_bitbucket.py b/master/buildbot/test/unit/test_changes_bitbucket.py index 31be2be3f8e..4d46861e39a 100644 --- a/master/buildbot/test/unit/test_changes_bitbucket.py +++ b/master/buildbot/test/unit/test_changes_bitbucket.py @@ -255,6 +255,8 @@ class TestBitbucketPullrequestPoller(changesource.ChangeSourceMixin, unittest.Te def setUp(self): # create pull requests self.date = "2013-10-15T20:38:20.001797+00:00" + self.date_epoch = datetime.strptime(self.date.split('.')[0], + '%Y-%m-%dT%H:%M:%S') src = SourceRest( owner="contributor", slug="slug", @@ -368,7 +370,7 @@ def check(_): self.assertEqual(self.changes_added[0]['author'], "contributor") self.assertEqual(int(self.changes_added[0]['revision']), 1) self.assertEqual(self.changes_added[0]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) d.addCallback(check) return d @@ -385,7 +387,7 @@ def check(_): self.assertEqual(self.changes_added[0]['author'], "contributor") self.assertEqual(int(self.changes_added[0]['revision']), 1) self.assertEqual(self.changes_added[0]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) # repoll d = self.changesource.poll() @@ -410,7 +412,7 @@ def check(_): self.assertEqual(self.changes_added[0]['author'], "contributor") self.assertEqual(int(self.changes_added[0]['revision']), 1) self.assertEqual(self.changes_added[0]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) self.patch(client, "getPage", self.pr_list2.getPage) d = self.changesource.poll() @@ -420,7 +422,7 @@ def check2(_): self.assertEqual(self.changes_added[1]['author'], "contributor") self.assertEqual(int(self.changes_added[1]['revision']), 2) self.assertEqual(self.changes_added[1]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) d.addCallback(check2) return d @@ -463,7 +465,7 @@ def check(_): self.assertEqual(self.changes_added[0]['author'], "contributor") self.assertEqual(int(self.changes_added[0]['revision']), 1) self.assertEqual(self.changes_added[0]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) d.addCallback(check) return d @@ -485,7 +487,7 @@ def check(_): self.assertEqual(self.changes_added[0]['author'], "contributor") self.assertEqual(int(self.changes_added[0]['revision']), 1) self.assertNotEqual(self.changes_added[0]['when_timestamp'], - datetime.strptime(self.date[:-6], '%Y-%m-%dT%H:%M:%S.%f')) + self.date_epoch) d.addCallback(check) return d