| |
@@ -0,0 +1,105 @@
|
| |
+ From c6282abd0b354707755e6f10881a67ed08c82614 Mon Sep 17 00:00:00 2001
|
| |
+ From: Smeet nagda <81572407+smeet07@users.noreply.github.com>
|
| |
+ Date: Tue, 23 May 2023 18:26:07 +0530
|
| |
+ Subject: [PATCH 6/8] migrate from utcfromtimestamp to fromtimestamp (#25918)
|
| |
+
|
| |
+ closes #25912
|
| |
+
|
| |
+ Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
|
| |
+ ---
|
| |
+ doc/api/prev_api_changes/api_changes_3.7.0/removals.rst | 2 +-
|
| |
+ doc/conf.py | 5 +++--
|
| |
+ lib/matplotlib/backends/backend_pdf.py | 3 ++-
|
| |
+ lib/matplotlib/backends/backend_ps.py | 5 +++--
|
| |
+ lib/matplotlib/backends/backend_svg.py | 2 +-
|
| |
+ 5 files changed, 10 insertions(+), 7 deletions(-)
|
| |
+
|
| |
+ diff --git a/doc/api/prev_api_changes/api_changes_3.7.0/removals.rst b/doc/api/prev_api_changes/api_changes_3.7.0/removals.rst
|
| |
+ index c8f4996665..76ce9ff718 100644
|
| |
+ --- a/doc/api/prev_api_changes/api_changes_3.7.0/removals.rst
|
| |
+ +++ b/doc/api/prev_api_changes/api_changes_3.7.0/removals.rst
|
| |
+ @@ -7,7 +7,7 @@ Removals
|
| |
+ These methods convert from unix timestamps to matplotlib floats, but are not
|
| |
+ used internally to Matplotlib, and should not be needed by end users. To
|
| |
+ convert a unix timestamp to datetime, simply use
|
| |
+ -`datetime.datetime.utcfromtimestamp`, or to use NumPy `~numpy.datetime64`
|
| |
+ +`datetime.datetime.fromtimestamp`, or to use NumPy `~numpy.datetime64`
|
| |
+ ``dt = np.datetime64(e*1e6, 'us')``.
|
| |
+
|
| |
+ Locator and Formatter wrapper methods
|
| |
+ diff --git a/doc/conf.py b/doc/conf.py
|
| |
+ index acb36254db..eecd1957fb 100644
|
| |
+ --- a/doc/conf.py
|
| |
+ +++ b/doc/conf.py
|
| |
+ @@ -22,6 +22,7 @@ import warnings
|
| |
+
|
| |
+ import matplotlib
|
| |
+
|
| |
+ +from datetime import timezone
|
| |
+ from datetime import datetime
|
| |
+ import time
|
| |
+
|
| |
+ @@ -36,8 +37,8 @@ CIRCLECI = 'CIRCLECI' in os.environ
|
| |
+
|
| |
+ # Parse year using SOURCE_DATE_EPOCH, falling back to current time.
|
| |
+ # https://reproducible-builds.org/specs/source-date-epoch/
|
| |
+ -sourceyear = datetime.utcfromtimestamp(
|
| |
+ - int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))).year
|
| |
+ +sourceyear = datetime.fromtimestamp(
|
| |
+ + int(os.environ.get('SOURCE_DATE_EPOCH', time.time())), timezone.utc).year
|
| |
+
|
| |
+ # If your extensions are in another directory, add it here. If the directory
|
| |
+ # is relative to the documentation root, use os.path.abspath to make it
|
| |
+ diff --git a/lib/matplotlib/backends/backend_pdf.py b/lib/matplotlib/backends/backend_pdf.py
|
| |
+ index 7bd0afc456..bbbca64c7a 100644
|
| |
+ --- a/lib/matplotlib/backends/backend_pdf.py
|
| |
+ +++ b/lib/matplotlib/backends/backend_pdf.py
|
| |
+ @@ -5,6 +5,7 @@ Author: Jouni K Seppänen <jks@iki.fi> and others.
|
| |
+ """
|
| |
+
|
| |
+ import codecs
|
| |
+ +from datetime import timezone
|
| |
+ from datetime import datetime
|
| |
+ from enum import Enum
|
| |
+ from functools import total_ordering
|
| |
+ @@ -153,7 +154,7 @@ def _create_pdf_info_dict(backend, metadata):
|
| |
+ # See https://reproducible-builds.org/specs/source-date-epoch/
|
| |
+ source_date_epoch = os.getenv("SOURCE_DATE_EPOCH")
|
| |
+ if source_date_epoch:
|
| |
+ - source_date = datetime.utcfromtimestamp(int(source_date_epoch))
|
| |
+ + source_date = datetime.fromtimestamp(int(source_date_epoch), timezone.utc)
|
| |
+ source_date = source_date.replace(tzinfo=UTC)
|
| |
+ else:
|
| |
+ source_date = datetime.today()
|
| |
+ diff --git a/lib/matplotlib/backends/backend_ps.py b/lib/matplotlib/backends/backend_ps.py
|
| |
+ index 68dd61e6f1..75ed4ff557 100644
|
| |
+ --- a/lib/matplotlib/backends/backend_ps.py
|
| |
+ +++ b/lib/matplotlib/backends/backend_ps.py
|
| |
+ @@ -841,8 +841,9 @@ class FigureCanvasPS(FigureCanvasBase):
|
| |
+ # See https://reproducible-builds.org/specs/source-date-epoch/
|
| |
+ source_date_epoch = os.getenv("SOURCE_DATE_EPOCH")
|
| |
+ dsc_comments["CreationDate"] = (
|
| |
+ - datetime.datetime.utcfromtimestamp(
|
| |
+ - int(source_date_epoch)).strftime("%a %b %d %H:%M:%S %Y")
|
| |
+ + datetime.datetime.fromtimestamp(
|
| |
+ + int(source_date_epoch),
|
| |
+ + datetime.timezone.utc).strftime("%a %b %d %H:%M:%S %Y")
|
| |
+ if source_date_epoch
|
| |
+ else time.ctime())
|
| |
+ dsc_comments = "\n".join(
|
| |
+ diff --git a/lib/matplotlib/backends/backend_svg.py b/lib/matplotlib/backends/backend_svg.py
|
| |
+ index df39e620f8..4a6c1bb426 100644
|
| |
+ --- a/lib/matplotlib/backends/backend_svg.py
|
| |
+ +++ b/lib/matplotlib/backends/backend_svg.py
|
| |
+ @@ -410,7 +410,7 @@ class RendererSVG(RendererBase):
|
| |
+ # See https://reproducible-builds.org/specs/source-date-epoch/
|
| |
+ date = os.getenv("SOURCE_DATE_EPOCH")
|
| |
+ if date:
|
| |
+ - date = datetime.datetime.utcfromtimestamp(int(date))
|
| |
+ + date = datetime.datetime.fromtimestamp(int(date), datetime.timezone.utc)
|
| |
+ metadata['Date'] = date.replace(tzinfo=UTC).isoformat()
|
| |
+ else:
|
| |
+ metadata['Date'] = datetime.datetime.today().isoformat()
|
| |
+ --
|
| |
+ 2.41.0
|
| |
+
|
| |