Author: Dan Villiom Podlaski Christiansen <d...@magenta.dk>
Branch: py3.5
Changeset: r91313:4e110113b03d
Date: 2017-05-16 16:12 +0200
http://bitbucket.org/pypy/pypy/changeset/4e110113b03d/

Log:    Use correct keyword argument for strftime() routines in datetime

        The argument is specified as 'format' on docs.python.org, and this
        is the argument pypy2 uses. For some reason or other, pypy3 always
        used 'fmt'.

diff --git a/lib-python/3/datetime.py b/lib-python/3/datetime.py
--- a/lib-python/3/datetime.py
+++ b/lib-python/3/datetime.py
@@ -746,15 +746,15 @@
             _MONTHNAMES[self._month],
             self._day, self._year)
 
-    def strftime(self, fmt):
+    def strftime(self, format):
         "Format using strftime()."
-        return _wrap_strftime(self, fmt, self.timetuple())
+        return _wrap_strftime(self, format, self.timetuple())
 
-    def __format__(self, fmt):
-        if not isinstance(fmt, str):
-            raise TypeError("must be str, not %s" % type(fmt).__name__)
-        if len(fmt) != 0:
-            return self.strftime(fmt)
+    def __format__(self, format):
+        if not isinstance(format, str):
+            raise TypeError("must be str, not %s" % type(format).__name__)
+        if len(format) != 0:
+            return self.strftime(format)
         return str(self)
 
     def isoformat(self):
@@ -1215,7 +1215,7 @@
 
     __str__ = isoformat
 
-    def strftime(self, fmt):
+    def strftime(self, format):
         """Format using strftime().  The date part of the timestamp passed
         to underlying strftime should not be used.
         """
@@ -1224,13 +1224,13 @@
         timetuple = (1900, 1, 1,
                      self._hour, self._minute, self._second,
                      0, 1, -1)
-        return _wrap_strftime(self, fmt, timetuple)
+        return _wrap_strftime(self, format, timetuple)
 
-    def __format__(self, fmt):
-        if not isinstance(fmt, str):
-            raise TypeError("must be str, not %s" % type(fmt).__name__)
-        if len(fmt) != 0:
-            return self.strftime(fmt)
+    def __format__(self, format):
+        if not isinstance(format, str):
+            raise TypeError("must be str, not %s" % type(format).__name__)
+        if len(format) != 0:
+            return self.strftime(format)
         return str(self)
 
     # Timezone functions
diff --git a/lib-python/3/test/datetimetester.py 
b/lib-python/3/test/datetimetester.py
--- a/lib-python/3/test/datetimetester.py
+++ b/lib-python/3/test/datetimetester.py
@@ -1238,6 +1238,9 @@
         #check that this standard extension works
         t.strftime("%f")
 
+        #test that passing keyword arguments work
+        self.assertEqual(t.strftime(format=""), "")
+
     def test_format(self):
         dt = self.theclass(2007, 9, 10)
         self.assertEqual(dt.__format__(''), str(dt))
@@ -1602,6 +1605,9 @@
             self.assertEqual(a.__format__(fmt), dt.strftime(fmt))
             self.assertEqual(b.__format__(fmt), 'B')
 
+        #test that passing keyword arguments work
+        self.assertEqual(dt.strftime(format=""), "")
+
     def test_more_ctime(self):
         # Test fields that TestDate doesn't touch.
         import time
@@ -2335,6 +2341,9 @@
         # A naive object replaces %z and %Z with empty strings.
         self.assertEqual(t.strftime("'%z' '%Z'"), "'' ''")
 
+        #test that passing keyword arguments work
+        self.assertEqual(t.strftime(format=""), "")
+
     def test_format(self):
         t = self.theclass(1, 2, 3, 4)
         self.assertEqual(t.__format__(''), str(t))
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to