summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdebian/control2
-rw-r--r--gbp/git/__init__.py30
2 files changed, 7 insertions, 25 deletions
diff --git a/debian/control b/debian/control
index ac77e57b..afd3198c 100755
--- a/debian/control
+++ b/debian/control
@@ -15,6 +15,7 @@ Build-Depends:
python3-nose,
python3-pkg-resources,
python3-setuptools,
+ python3-dateutil,
sgml2x,
librpm-tizen,
# For rpm (epydoc)
@@ -34,6 +35,7 @@ Depends: ${python3:Depends},
git (>= 1:1.7.9.1-1~),
man-db,
python3-pkg-resources,
+ python3-dateutil,
#unittest need
zipmerge
Recommends: pristine-tar (>= 0.5)
diff --git a/gbp/git/__init__.py b/gbp/git/__init__.py
index cbd84cb5..57b74eff 100644
--- a/gbp/git/__init__.py
+++ b/gbp/git/__init__.py
@@ -17,8 +17,7 @@
"""Accessing Git from python"""
import calendar
-import datetime
-import rfc822
+import dateutil.parser
from gbp.git.modifier import GitModifier
from gbp.git.commit import GitCommit
@@ -29,26 +28,8 @@ from gbp.git.args import GitArgs
from gbp.git.vfs import GitVfs
-class FixedOffset(datetime.tzinfo):
- """Fixed offset in seconds east from UTC."""
-
- ZERO = datetime.timedelta(0)
-
- def __init__(self, offset):
- datetime.tzinfo.__init__(self)
- self._offset = datetime.timedelta(seconds=offset)
-
- def utcoffset(self, dtime):
- return self._offset + self.dst(dtime)
-
- def dst(self, dtime):
- assert dtime.tzinfo is self
- return self.ZERO
-
-
def rfc822_date_to_git(rfc822_date):
"""Parse a date in RFC822 format, and convert to a 'seconds tz' C{str}ing.
-
>>> rfc822_date_to_git('Thu, 1 Jan 1970 00:00:01 +0000')
'1 +0000'
>>> rfc822_date_to_git('Thu, 20 Mar 2008 01:12:57 -0700')
@@ -56,10 +37,9 @@ def rfc822_date_to_git(rfc822_date):
>>> rfc822_date_to_git('Sat, 5 Apr 2008 17:01:32 +0200')
'1207407692 +0200'
"""
- parsed = rfc822.parsedate_tz(rfc822_date)
- date = datetime.datetime(*parsed[:6], tzinfo=FixedOffset(parsed[-1]))
- seconds = calendar.timegm(date.utctimetuple())
- tzone = date.strftime("%z")
- return '%d %s' % (seconds, tzone)
+ d = dateutil.parser.parse(rfc822_date)
+ seconds = calendar.timegm(d.utctimetuple())
+ tz = d.strftime("%z")
+ return '%d %s' % (seconds, tz)
# vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: