| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
available. (GH-11952)
Deprecate using the __int__() method in implicit conversions of Python
numbers to C integers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make timedelta return subclass types
Previously timedelta would always return the `date` and `datetime`
types, regardless of what it is added to. This makes it return
an object of the type it was added to.
* Add tests for timedelta arithmetic on subclasses
* Make pure python timedelta return subclass types
* Add test for fromtimestamp with tz argument
* Add tests for subclass behavior in now
* Add news entry.
Fixes:
bpo-32417
bpo-35364
* More descriptive variable names in tests
Addresses Victor's comments
|
|
|
|
|
|
|
| |
Previously, calling the strftime() method on a datetime object with a
trailing '%' in the format string would result in an exception. However,
this only occured when the datetime C module was being used; the python
implementation did not match this behavior. Datetime is now PEP-399
compliant, and will not throw an exception on a trailing '%'.
|
|
|
|
|
|
| |
2. (GH-11017)
encoding='latin1' should be used for successful decoding.
|
|
|
|
|
|
|
|
| |
Fixes assertion failures in _datetimemodule.c
introduced in the previous fix (see bpo-31752).
Rather of trying to handle an int subclass as exact int,
let it to use overridden special methods, but check the
result of divmod().
|
|
|
|
| |
(GH-8878)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use _PyUnicode_Copy in sanitize_isoformat_str
* Use repr in fromisoformat error message
This reverses commit 67b74a98b2 per Serhiy Storchaka's suggestion:
I suggested to use %R in the error message because including the raw
string can be confusing in the case of empty string, or string
containing trailing whitespaces, invisible or unprintable characters.
We agree that it is better to change both the C and pure Python versions
to use repr.
* Retain non-sanitized dtstr for error printing
This does not create an extra string, it just holds on to a reference to
the original input string for purposes of creating the error message.
* PEP 7 fixes to from_isoformat
* Separate handling of Unicode and other errors
In the initial implementation, errors other than encoding errors would
both raise an error indicating an invalid format, which would not be
true for errors like MemoryError.
* Drop needs_decref from _sanitize_isoformat_str
Instead _sanitize_isoformat_str returns a new reference, even to the
original string.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
code points (GH-8862)
The current C implementations **crash** if the input includes a surrogate
Unicode code point, which is not possible to encode in UTF-8.
Important notes:
1. It is possible to pass a non-UTF-8 string as a separator to the
`.isoformat()` methods.
2. The pure-Python `datetime.fromisoformat()` implementation accepts
strings with a surrogate as the separator.
In `datetime.fromisoformat()`, in the special case of non-UTF-8 separators,
this implementation will take a performance hit by making a copy of the
input string and replacing the separator with 'T'.
Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
Co-authored-by: Paul Ganssle <paul@ganssle.io>
|
|
|
| |
On Windows, passing a negative value to local results in an OSError because localtime_s on Windows does not support negative timestamps. Unfortunately this means that fold detection for timestamps between 0 and max_fold_seconds will result in this OSError since we subtract max_fold_seconds from the timestamp to detect a fold. However, since we know there haven't been any folds in the interval [0, max_fold_seconds) in any timezone, we can hackily just forego fold detection for this time range on Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A datetime object d is aware if d.tzinfo is not None and
d.tzinfo.utcoffset(d) does not return None. If d.tzinfo is None,
or if d.tzinfo is not None but d.tzinfo.utcoffset(d) returns None,
d is naive.
This commit ensures that instances with non-None d.tzinfo, but
d.tzinfo.utcoffset(d) returning None are treated as naive.
In addition, C acceleration code will raise TypeError if
d.tzinfo.utcoffset(d) returns an object with the type other than
timedelta.
* Updated the documentation.
Assume that the term "naive" is defined elsewhere and remove the
not entirely correct clarification. Thanks, Tim.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added a test case for strftime("%z").
The added test checks a case with UTC offest expressed in an integer
number of seconds.
* Added a test comparing naive and aware datetimes.
Check that a greater than comparison of a naive datetime instance with
an aware one raises a TypeError.
* Test datetime in fold or in gap comparison both ways.
|
| |
|
|
|
| |
Fix typos found by codespell in docs, docstrings, and comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add timezone to datetime C API
* Add documentation for timezone C API macros
* Add dedicated tests for datetime type check macros
* Remove superfluous C API test
* Drop support for TimeZoneType in datetime C API
* Expose UTC singleton to the datetime C API
* Update datetime C-API documentation to include links
* Add reference count information for timezone constructors
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add tests for date subclass alternate constructors
* Switch over alternate date constructors to fast path
* Switch datetime constructors to fastpath, fix bpo-32404
* Add fast path for datetime in date subclass constructor
* Set fold in constructor in datetime.combine
* Add news entries.
|
|
|
| |
Closes bpo-15873.
|
| |
|
|
|
|
| |
Python (#4176)
|
|
|
| |
Add support to strptime to parse time offsets with a colon between the hour and the minutes.
|
|
|
|
|
| |
integers. (#3947)
Bad remainder in divmod() in intermediate calculations caused an assertion failure.
|
|
|
|
| |
bad as_integer_ratio() method. (#3227)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Closes issue bpo-5288: Allow tzinfo objects with sub-minute offsets.
* bpo-5288: Implemented %z formatting of sub-minute offsets.
* bpo-5288: Removed mentions of the whole minute limitation on TZ offsets.
* bpo-5288: Removed one more mention of the whole minute limitation.
Thanks @csabella!
* Fix a formatting error in the docs
* Addressed review comments.
Thanks, @haypo.
|
| |
|
|
|
| |
Only C implementation was tested.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Revert "bpo-30854: Fix compile error when --without-threads (#2581)"
This reverts commit 0c3116309307ad2c7f8e2d2096612f4ab33cbb62.
* Revert "NEWS for 30777 (#2576)"
This reverts commit aaa917ff38f9869eeebe3bc9469bfee64089d826.
* Revert "bpo-21624: IDLE -- minor htest fixes (#2575)"
This reverts commit 2000150c569941584994ec4ec59171961209bec3.
* Revert "bpo-30777: IDLE: configdialog - add docstrings and improve comments (#2440)"
This reverts commit 7eb5883ac59833bf63f0e1f7fb95671a1ac1ee08.
* Revert "bpo-30319: socket.close() now ignores ECONNRESET (#2565)"
This reverts commit 67e1478dba6efe60b8e1890192014b8b06dd6bd9.
* Revert "bpo-30789: Use a single memory block for co_extra. (#2555)"
This reverts commit 378ebb6578b9d709f38b888d23874c0b18125249.
* Revert "bpo-30845: Enhance test_concurrent_futures cleanup (#2564)"
This reverts commit 3df9dec425b0254df1cdf41922fd8d6b08bf47e4.
* Revert "bpo-29293: multiprocessing.Condition.notify() lacks parameter `n` (#2480)"
This reverts commit 48350412b70c76fa51f488cfc736c80d59b5e8eb.
* Revert "Remove outdated FOX from GUI FAQ (GH-2538)"
This reverts commit d3ed2877a798d07df75422afe136b4727e500c99.
* Revert "bpo-6691: Pyclbr now reports nested classes and functions. (#2503)"
This reverts commit 246ff3bd00f97658e567a7087645a6b76e056491.
* Revert "bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make (#1955)"
This reverts commit 6969eaf4682beb01bc95eeb14f5ce6c01312e297.
* Revert "bpo-30832: Remove own implementation for thread-local storage (#2537)"
This reverts commit aa0aa0492c5fffe750a26d2ab13737a1a6d7d63c.
* Revert "bpo-30764: Fix regrtest --fail-env-changed --forever (#2536)"
This reverts commit 5e87592fd12e0b7c41edc11d4885ed7298d5063b.
* Revert "bpo-30822: Deduplicate ZoneInfoTest classes in test_datetime. (#2534)"
This reverts commit 34b54873b51a1ebee2a3c57b7205537b4f33128d.
* Revert "bpo-30822: Fix testing of datetime module. (#2530)"
This reverts commit 98b6bc3bf72532b784a1c1fa76eaa6026a663e44.
|
|
|
|
| |
Only C implementation was tested.
|
|
|
| |
objects when pass out of bound fold argument.
|
|
|
|
|
| |
Issue #29100: On Windows, datetime.datetime.fromtimestamp(min_ts) fails with an
OSError in test_timestamp_limits().
|
|
|
|
| |
Issue #29100: Catch OverflowError in the new test_timestamp_limits() test.
|
|
|
|
|
| |
Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python
3.6.0: check minimum and maximum years.
|
| |
|
|
|
|
|
|
|
| |
And most of the tools.
Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
|
| |
|
| |
|
|
|
|
|
| |
Does not appear to be a problem anymore and I cannot figure
out why it was skipped in the first place.
|
| |
|
|
|
|
|
|
| |
* Read the zone.tab file for the list of zones to exclude
the aliases.
* Skip Casablanca and El_Aaiun October 2037 transitions.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Several 32-bit systems have issues with transitions in the year
2037. This is a bug in the system C library since time_t does not
overflow until 2038, but let's skip tests starting from 2037 to work
around those bugs.
|
| |
|
| |
|
|
|
|
| |
This should improve the diagnostic and progress reports.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| | |
Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
|
|\ \
| |/ |
|
| | |
|