replace rfc822 to dateutil 09/284009/2
authorbiao716.wang <biao716.wang@samsung.com>
Tue, 8 Nov 2022 10:24:37 +0000 (19:24 +0900)
committerbiao716.wang <biao716.wang@samsung.com>
Tue, 8 Nov 2022 10:34:45 +0000 (19:34 +0900)
Change-Id: I401cec4eb4057ff54b27ed25d9a32bd0e455cefe
Signed-off-by: biao716.wang <biao716.wang@samsung.com>
debian/control
gbp/git/__init__.py

index ac77e57..afd3198 100755 (executable)
@@ -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)
index cbd84cb..57b74ef 100644 (file)
@@ -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\:·: