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