[packages/python-freezegun] - added python3.7 patch (fixes tests with python 3.7.x)

qboosh qboosh at pld-linux.org
Sun Jul 15 21:08:25 CEST 2018


commit 97944efcc4c796e73fe120185b9f7e2f03939daf
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jul 15 21:10:15 2018 +0200

    - added python3.7 patch (fixes tests with python 3.7.x)

 python-freezegun-python3.7.patch | 55 ++++++++++++++++++++++++++++++++++++++++
 python-freezegun.spec            |  2 ++
 2 files changed, 57 insertions(+)
---
diff --git a/python-freezegun.spec b/python-freezegun.spec
index f2d9825..a663338 100644
--- a/python-freezegun.spec
+++ b/python-freezegun.spec
@@ -15,6 +15,7 @@ Group:		Libraries/Python
 Source0:	https://files.pythonhosted.org/packages/source/f/freezegun/freezegun-%{version}.tar.gz
 # Source0-md5:	703b64446743c0d9f81ca9308e5097a0
 Patch0:		%{name}-mock.patch
+Patch1:		%{name}-python3.7.patch
 URL:		https://pypi.org/project/freezegun/
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(macros) >= 1.714
@@ -66,6 +67,7 @@ czasie dzięki atrapie modułu datetime.
 %prep
 %setup -q -n freezegun-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
 %if %{with python2}
diff --git a/python-freezegun-python3.7.patch b/python-freezegun-python3.7.patch
new file mode 100644
index 0000000..e448f29
--- /dev/null
+++ b/python-freezegun-python3.7.patch
@@ -0,0 +1,55 @@
+From 4fdad69659f15a9e62cf4f6c15c9f319276cf9b0 Mon Sep 17 00:00:00 2001
+From: Jonas Obrist <jonas.obrist at hde.co.jp>
+Date: Tue, 6 Mar 2018 12:21:38 +0900
+Subject: [PATCH] add support for Python 3.7 uuid module changes
+
+Python 3.7 removed uuid._uuid_generate_time. It now has
+uuid._load_system_functions and uuid._generate_time_safe.
+_generate_time_safe is set by calling _load_system_functions (subsequent
+calls to that function are no-op). This change detects the missing
+uuid._uuid_generate_time attribute and uses the new attribute/function
+if they're missing.
+---
+ freezegun/api.py | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/freezegun/api.py b/freezegun/api.py
+index eb09932..a88a392 100644
+--- a/freezegun/api.py
++++ b/freezegun/api.py
+@@ -27,8 +27,14 @@
+ 
+ try:
+     real_uuid_generate_time = uuid._uuid_generate_time
+-except (AttributeError, ImportError):
++    uuid_generate_time_attr = '_uuid_generate_time'
++except AttributeError:
++    uuid._load_system_functions()
++    real_uuid_generate_time = uuid._generate_time_safe
++    uuid_generate_time_attr = '_generate_time_safe'
++except ImportError:
+     real_uuid_generate_time = None
++    uuid_generate_time_attr = None
+ 
+ try:
+     real_uuid_create = uuid._UuidCreate
+@@ -482,7 +488,8 @@ def start(self):
+         time.localtime = fake_localtime
+         time.gmtime = fake_gmtime
+         time.strftime = fake_strftime
+-        uuid._uuid_generate_time = None
++        if uuid_generate_time_attr:
++            setattr(uuid, uuid_generate_time_attr, None)
+         uuid._UuidCreate = None
+         uuid._last_timestamp = None
+ 
+@@ -573,7 +580,8 @@ def stop(self):
+         time.localtime = time.localtime.previous_localtime_function
+         time.strftime = time.strftime.previous_strftime_function
+ 
+-        uuid._uuid_generate_time = real_uuid_generate_time
++        if uuid_generate_time_attr:
++            setattr(uuid, uuid_generate_time_attr, real_uuid_generate_time)
+         uuid._UuidCreate = real_uuid_create
+         uuid._last_timestamp = None
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-freezegun.git/commitdiff/97944efcc4c796e73fe120185b9f7e2f03939daf



More information about the pld-cvs-commit mailing list