mail/pyzor: Fix runtime with Python 3.9
Partial patch of
7afe0aedc3
PR: 265237 [1]
Reported by: Jakob Stoklund Olesen <swig.morning0d@icloud.com> [1]
Reported by: Andrew <andrew@tekrealm.net>
This commit is contained in:
parent
f2c80620b5
commit
c0927c63a7
@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= pyzor
|
||||
PORTVERSION= 1.0.0
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= mail python
|
||||
MASTER_SITES= CHEESESHOP
|
||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||
|
182
mail/pyzor/files/patch-7afe0ae.patch
Normal file
182
mail/pyzor/files/patch-7afe0ae.patch
Normal file
@ -0,0 +1,182 @@
|
||||
partial:
|
||||
|
||||
From 7afe0aedc320dd2689bfbf45e97fdb09adb89686 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandru Chirila <alex@alexkiro.com>
|
||||
Date: Fri, 15 Jan 2016 12:30:39 +0200
|
||||
Subject: [PATCH] Refs. #46. Fix all unitest for Python3.
|
||||
|
||||
Adjust all the unittest and code to pass on Python3
|
||||
without any 2to3 conversion (even without the
|
||||
python-future library installed).
|
||||
---
|
||||
pyzor/client.py | 6 ++--
|
||||
pyzor/digest.py | 2 +-
|
||||
pyzor/engines/common.py | 4 +--
|
||||
pyzor/engines/gdbm_.py | 2 +-
|
||||
pyzor/engines/mysql.py | 2 +-
|
||||
pyzor/server.py | 4 +--
|
||||
scripts/pyzor | 4 +--
|
||||
scripts/pyzord | 2 +-
|
||||
|
||||
| ------------------------------------------ |
|
||||
| removed from original patch:
|
||||
|
|
||||
| scripts/run_tests | 5 ++--
|
||||
| tests/benchmark/measure_server_response.py | 8 ++---
|
||||
| tests/functional/test_pyzor.py | 22 +++++++-------
|
||||
| tests/unit/test_account.py | 35 +++++++++++-----------
|
||||
| tests/unit/test_config.py | 7 +++--
|
||||
| tests/unit/test_engines/test_gdbm.py | 2 +-
|
||||
| tests/unit/test_forwarder.py | 2 +-
|
||||
| tests/unit/test_server.py | 9 ++++--
|
||||
| tests/util/__init__.py | 8 ++---
|
||||
| web/application.py | 4 +--
|
||||
| ------------------------------------------ |
|
||||
18 files changed, 67 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/pyzor/client.py b/pyzor/client.py
|
||||
index 82d6361..07daba2 100644
|
||||
--- pyzor/client.py
|
||||
+++ pyzor/client.py
|
||||
@@ -78,7 +78,7 @@ def __init__(self, accounts=None, timeout=None, spec=None):
|
||||
if accounts is None:
|
||||
accounts = {}
|
||||
self.accounts = dict(((host, int(port)), account)
|
||||
- for (host, port), account in accounts.iteritems())
|
||||
+ for (host, port), account in accounts.items())
|
||||
if spec is None:
|
||||
spec = pyzor.digest.digest_spec
|
||||
self.spec = spec
|
||||
@@ -227,12 +227,12 @@ def flush(self):
|
||||
|
||||
def force(self):
|
||||
"""Force send any remaining reports."""
|
||||
- for address, msg in self.r_requests.iteritems():
|
||||
+ for address, msg in self.r_requests.items():
|
||||
try:
|
||||
self.send(msg, address)
|
||||
except:
|
||||
continue
|
||||
- for address, msg in self.w_requests.iteritems():
|
||||
+ for address, msg in self.w_requests.items():
|
||||
try:
|
||||
self.send(msg, address)
|
||||
except:
|
||||
diff --git a/pyzor/digest.py b/pyzor/digest.py
|
||||
index 100a4c6..058c208 100644
|
||||
--- pyzor/digest.py
|
||||
+++ pyzor/digest.py
|
||||
@@ -105,7 +105,7 @@ def handle_atomic(self, lines):
|
||||
def handle_pieced(self, lines, spec):
|
||||
"""Digest stuff according to the spec."""
|
||||
for offset, length in spec:
|
||||
- for i in xrange(length):
|
||||
+ for i in range(length):
|
||||
try:
|
||||
line = lines[int(offset * len(lines) // 100) + i]
|
||||
except IndexError:
|
||||
diff --git a/pyzor/engines/common.py b/pyzor/engines/common.py
|
||||
index a96c656..17f083c 100644
|
||||
--- pyzor/engines/common.py
|
||||
+++ pyzor/engines/common.py
|
||||
@@ -31,7 +31,7 @@ def __init__(self, r_count=0, wl_count=0, r_entered=None,
|
||||
|
||||
def wl_increment(self):
|
||||
# overflow prevention
|
||||
- if self.wl_count < sys.maxint:
|
||||
+ if self.wl_count < sys.maxsize:
|
||||
self.wl_count += 1
|
||||
if self.wl_entered is None:
|
||||
self.wl_entered = datetime.datetime.now()
|
||||
@@ -39,7 +39,7 @@ def wl_increment(self):
|
||||
|
||||
def r_increment(self):
|
||||
# overflow prevention
|
||||
- if self.r_count < sys.maxint:
|
||||
+ if self.r_count < sys.maxsize:
|
||||
self.r_count += 1
|
||||
if self.r_entered is None:
|
||||
self.r_entered = datetime.datetime.now()
|
||||
diff --git a/pyzor/engines/gdbm_.py b/pyzor/engines/gdbm_.py
|
||||
index d9415ba..e75fbd3 100644
|
||||
--- pyzor/engines/gdbm_.py
|
||||
+++ pyzor/engines/gdbm_.py
|
||||
@@ -75,7 +75,7 @@ def items(self):
|
||||
def apply_method(self, method, varargs=(), kwargs=None):
|
||||
if kwargs is None:
|
||||
kwargs = {}
|
||||
- return apply(method, varargs, kwargs)
|
||||
+ return method(*varargs, **kwargs)
|
||||
|
||||
def __getitem__(self, key):
|
||||
return self.apply_method(self._really_getitem, (key,))
|
||||
diff --git a/pyzor/engines/mysql.py b/pyzor/engines/mysql.py
|
||||
index baef14d..f8d893d 100644
|
||||
--- pyzor/engines/mysql.py
|
||||
+++ pyzor/engines/mysql.py
|
||||
@@ -294,7 +294,7 @@ def _safe_call(self, name, method, args):
|
||||
def reconnect(self):
|
||||
if not self.bound:
|
||||
return
|
||||
- for _ in xrange(self.bound):
|
||||
+ for _ in range(self.bound):
|
||||
self.db_queue.put(self._get_new_connection())
|
||||
|
||||
def _reconnect(self, db):
|
||||
diff --git a/pyzor/server.py b/pyzor/server.py
|
||||
index abae192..b342222 100644
|
||||
--- pyzor/server.py
|
||||
+++ pyzor/server.py
|
||||
@@ -137,7 +137,7 @@ def __init__(self, address, database, passwd_fn, access_fn, prefork=4):
|
||||
def serve_forever(self, poll_interval=0.5):
|
||||
"""Fork the current process and wait for all children to finish."""
|
||||
pids = []
|
||||
- for dummy in xrange(self._prefork):
|
||||
+ for dummy in range(self._prefork):
|
||||
database = self.database.next()
|
||||
pid = os.fork()
|
||||
if not pid:
|
||||
@@ -312,7 +312,7 @@ def handle_pong(self, digests):
|
||||
This command returns maxint for report counts and 0 whitelist.
|
||||
"""
|
||||
self.server.log.debug("Request pong for %s", digests[0])
|
||||
- self.response["Count"] = "%d" % sys.maxint
|
||||
+ self.response["Count"] = "%d" % sys.maxsize
|
||||
self.response["WL-Count"] = "%d" % 0
|
||||
|
||||
def handle_check(self, digests):
|
||||
diff --git a/scripts/pyzor b/scripts/pyzor
|
||||
index 19b1d21..040b4c5 100755
|
||||
--- scripts/pyzor
|
||||
+++ scripts/pyzor
|
||||
@@ -110,7 +110,7 @@ def load_configuration():
|
||||
config = ConfigParser.ConfigParser()
|
||||
# Set the defaults.
|
||||
config.add_section("client")
|
||||
- for key, value in defaults.iteritems():
|
||||
+ for key, value in defaults.items():
|
||||
config.set("client", key, value)
|
||||
# Override with the configuration.
|
||||
config.read(os.path.join(options.homedir, "config"))
|
||||
@@ -372,7 +372,7 @@ def genkey(client, servers, config, hash_func=hashlib.sha1):
|
||||
return False
|
||||
# pylint: disable-msg=W0612
|
||||
salt = "".join([chr(random.randint(0, 255))
|
||||
- for unused in xrange(hash_func(b"").digest_size)])
|
||||
+ for unused in range(hash_func(b"").digest_size)])
|
||||
if sys.version_info >= (3, 0):
|
||||
salt = salt.encode("utf8")
|
||||
salt_digest = hash_func(salt)
|
||||
diff --git a/scripts/pyzord b/scripts/pyzord
|
||||
index 7b073a7..3ac7a2c 100755
|
||||
--- scripts/pyzord
|
||||
+++ scripts/pyzord
|
||||
@@ -244,7 +244,7 @@ def load_configuration():
|
||||
config = ConfigParser.ConfigParser()
|
||||
# Set the defaults.
|
||||
config.add_section("server")
|
||||
- for key, value in defaults.iteritems():
|
||||
+ for key, value in defaults.items():
|
||||
config.set("server", key, value)
|
||||
# Override with the configuration.
|
||||
config.read(os.path.join(options.homedir, "config"))
|
Loading…
Reference in New Issue
Block a user