Accepting request 734915 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/734915 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-passlib?expand=0&rev=19
This commit is contained in:
commit
dd5730c364
47
pr_9_1.patch
Normal file
47
pr_9_1.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Alan Pevec <apevec@redhat.com>
|
||||||
|
# Date 1562888158 -7200
|
||||||
|
# Branch stable
|
||||||
|
# Node ID 98c08467d15759acc3b0f88d2661f6e530147c33
|
||||||
|
# Parent 27866c441d18c7ce42e3f7afe824f89da4f8d21b
|
||||||
|
Fix for Python 3.8
|
||||||
|
|
||||||
|
This was a deprecation when running in Python 3.7:
|
||||||
|
|
||||||
|
DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
|
||||||
|
if isinstance(source, collections.Sequence):
|
||||||
|
|
||||||
|
diff --git a/passlib/utils/__init__.py b/passlib/utils/__init__.py
|
||||||
|
--- a/passlib/utils/__init__.py
|
||||||
|
+++ b/passlib/utils/__init__.py
|
||||||
|
@@ -6,7 +6,12 @@
|
||||||
|
# core
|
||||||
|
from binascii import b2a_base64, a2b_base64, Error as _BinAsciiError
|
||||||
|
from base64 import b64encode, b64decode
|
||||||
|
-import collections
|
||||||
|
+try:
|
||||||
|
+ from collections.abc import Sequence
|
||||||
|
+ from collections.abc import Iterable
|
||||||
|
+except ImportError:
|
||||||
|
+ from collections import Sequence
|
||||||
|
+ from collections import Iterable
|
||||||
|
from codecs import lookup as _lookup_codec
|
||||||
|
from functools import update_wrapper
|
||||||
|
import itertools
|
||||||
|
@@ -276,14 +281,14 @@
|
||||||
|
"""
|
||||||
|
if size < 1:
|
||||||
|
raise ValueError("size must be positive integer")
|
||||||
|
- if isinstance(source, collections.Sequence):
|
||||||
|
+ if isinstance(source, Sequence):
|
||||||
|
end = len(source)
|
||||||
|
i = 0
|
||||||
|
while i < end:
|
||||||
|
n = i + size
|
||||||
|
yield source[i:n]
|
||||||
|
i = n
|
||||||
|
- elif isinstance(source, collections.Iterable):
|
||||||
|
+ elif isinstance(source, Iterable):
|
||||||
|
itr = iter(source)
|
||||||
|
while True:
|
||||||
|
chunk_itr = itertools.islice(itr, size)
|
51
pr_9_2.patch
Normal file
51
pr_9_2.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# HG changeset patch
|
||||||
|
# User Alan Pevec <apevec@redhat.com>
|
||||||
|
# Date 1562844713 -7200
|
||||||
|
# Branch stable
|
||||||
|
# Node ID 58f3efd111e930baf39ff50df27ed7f2d24f759d
|
||||||
|
# Parent 4801587cebf01f5037ddc9cd52fc94708559bbfb
|
||||||
|
Remove time.clock(), deprecated in 3.8
|
||||||
|
|
||||||
|
The function time.clock(), used in passlib/utils/__init__.py
|
||||||
|
has been removed. It was deprecated since Python 3.3.
|
||||||
|
More info:
|
||||||
|
https://docs.python.org/3.8/whatsnew/3.8.html#api-and-feature-removals
|
||||||
|
|
||||||
|
To make the code both Python 2 and 3 compatible, use timeit.default_timer
|
||||||
|
|
||||||
|
diff --git a/passlib/utils/__init__.py b/passlib/utils/__init__.py
|
||||||
|
--- a/passlib/utils/__init__.py
|
||||||
|
+++ b/passlib/utils/__init__.py
|
||||||
|
@@ -30,6 +30,7 @@
|
||||||
|
import time
|
||||||
|
if stringprep:
|
||||||
|
import unicodedata
|
||||||
|
+import timeit
|
||||||
|
import types
|
||||||
|
from warnings import warn
|
||||||
|
# site
|
||||||
|
@@ -839,14 +840,7 @@
|
||||||
|
assert secret and hash
|
||||||
|
return safe_crypt(secret, hash) == hash
|
||||||
|
|
||||||
|
-# pick best timer function to expose as "tick" - lifted from timeit module.
|
||||||
|
-if sys.platform == "win32":
|
||||||
|
- # On Windows, the best timer is time.clock()
|
||||||
|
- from time import clock as timer
|
||||||
|
-else:
|
||||||
|
- # On most other platforms the best timer is time.time()
|
||||||
|
- from time import time as timer
|
||||||
|
-
|
||||||
|
+timer = timeit.default_timer
|
||||||
|
# legacy alias, will be removed in passlib 2.0
|
||||||
|
tick = timer
|
||||||
|
|
||||||
|
@@ -903,7 +897,7 @@
|
||||||
|
|
||||||
|
# the current time, to whatever precision os uses
|
||||||
|
time.time(),
|
||||||
|
- time.clock(),
|
||||||
|
+ tick(),
|
||||||
|
|
||||||
|
# if urandom available, might as well mix some bytes in.
|
||||||
|
os.urandom(32).decode("latin-1") if has_urandom else 0,
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Oct 3 15:09:46 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Add two patches to fix Python 3.8 compatibility
|
||||||
|
* pr_9_1.patch and pr_9_2.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 18 10:46:39 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
Mon Mar 18 10:46:39 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
|
||||||
|
|
||||||
|
@ -26,6 +26,9 @@ Group: Development/Languages/Python
|
|||||||
URL: https://bitbucket.org/ecollins/passlib
|
URL: https://bitbucket.org/ecollins/passlib
|
||||||
Source: https://files.pythonhosted.org/packages/source/p/passlib/passlib-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/p/passlib/passlib-%{version}.tar.gz
|
||||||
Patch0: python-passlib-1.7.1-libxcrypt-compat.patch
|
Patch0: python-passlib-1.7.1-libxcrypt-compat.patch
|
||||||
|
# Python 3.8 compatibility patches
|
||||||
|
Patch1: pr_9_1.patch
|
||||||
|
Patch2: pr_9_2.patch
|
||||||
# test requirements
|
# test requirements
|
||||||
BuildRequires: %{python_module nose}
|
BuildRequires: %{python_module nose}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
@ -44,6 +47,8 @@ applications.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n passlib-%{version}
|
%setup -q -n passlib-%{version}
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
|
Loading…
Reference in New Issue
Block a user