summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Manganiello <adamantike@users.noreply.github.com>2016-05-08 08:19:07 -0300
committerSybren A. Stüvel <sybren@stuvel.eu>2016-05-08 13:19:07 +0200
commit1369d748e9b557ed769c9456dc43ab3c0530663f (patch)
tree73687fb7dc65c7479353a353e619e603f44f1499
parent7e5854dc6f4c748ffcbff0066dbfef0a8bdbfbf6 (diff)
downloadrsa-git-1369d748e9b557ed769c9456dc43ab3c0530663f.tar.gz
xrange compatibility optimization for Python 2 (#69)
-rw-r--r--rsa/_compat.py8
-rw-r--r--rsa/key.py2
-rw-r--r--rsa/parallel.py1
-rw-r--r--rsa/pem.py3
-rw-r--r--rsa/pkcs1.py2
-rw-r--r--rsa/prime.py1
-rw-r--r--rsa/transform.py1
-rw-r--r--tests/test_compat.py2
-rw-r--r--tests/test_prime.py1
9 files changed, 17 insertions, 4 deletions
diff --git a/rsa/_compat.py b/rsa/_compat.py
index 9d1d99d..deef1fc 100644
--- a/rsa/_compat.py
+++ b/rsa/_compat.py
@@ -52,6 +52,14 @@ else:
def byte_literal(s):
return s
+# Range generator.
+try:
+ # < Python3
+ range = xrange
+except NameError:
+ # Python3
+ range = range
+
# ``long`` is no more. Do type detection using this instead.
try:
integer_types = (int, long)
diff --git a/rsa/key.py b/rsa/key.py
index 73494b9..2b59751 100644
--- a/rsa/key.py
+++ b/rsa/key.py
@@ -35,7 +35,7 @@ of pyasn1.
import logging
-from rsa._compat import b
+from rsa._compat import b, range
import rsa.prime
import rsa.pem
import rsa.common
diff --git a/rsa/parallel.py b/rsa/parallel.py
index edc924f..edaf6bc 100644
--- a/rsa/parallel.py
+++ b/rsa/parallel.py
@@ -28,6 +28,7 @@ from __future__ import print_function
import multiprocessing as mp
+from rsa._compat import range
import rsa.prime
import rsa.randnum
diff --git a/rsa/pem.py b/rsa/pem.py
index d5427a0..db0304a 100644
--- a/rsa/pem.py
+++ b/rsa/pem.py
@@ -17,7 +17,8 @@
"""Functions that load and write PEM-encoded files."""
import base64
-from rsa._compat import b, is_bytes
+
+from rsa._compat import b, is_bytes, range
def _markers(pem_marker):
diff --git a/rsa/pkcs1.py b/rsa/pkcs1.py
index fdbf093..cfea847 100644
--- a/rsa/pkcs1.py
+++ b/rsa/pkcs1.py
@@ -31,7 +31,7 @@ to your users.
import hashlib
import os
-from rsa._compat import b
+from rsa._compat import b, range
from rsa import common, transform, core
# ASN.1 codes that describe the hash algorithm used.
diff --git a/rsa/prime.py b/rsa/prime.py
index ab3eb97..d8c1f04 100644
--- a/rsa/prime.py
+++ b/rsa/prime.py
@@ -20,6 +20,7 @@ Implementation based on the book Algorithm Design by Michael T. Goodrich and
Roberto Tamassia, 2002.
"""
+from rsa._compat import range
import rsa.common
import rsa.randnum
diff --git a/rsa/transform.py b/rsa/transform.py
index f325b17..ae3224b 100644
--- a/rsa/transform.py
+++ b/rsa/transform.py
@@ -23,6 +23,7 @@ from __future__ import absolute_import
import binascii
from struct import pack
+
from rsa import common
from rsa._compat import is_integer, b, byte, get_word_alignment, ZERO_BYTE, EMPTY_BYTE
diff --git a/tests/test_compat.py b/tests/test_compat.py
index 74d6f53..2a58df5 100644
--- a/tests/test_compat.py
+++ b/tests/test_compat.py
@@ -18,7 +18,7 @@ import unittest
import struct
import sys
-from rsa._compat import is_bytes, byte, b
+from rsa._compat import b, byte, is_bytes, range
class TestByte(unittest.TestCase):
diff --git a/tests/test_prime.py b/tests/test_prime.py
index 75b80b3..f3bda9b 100644
--- a/tests/test_prime.py
+++ b/tests/test_prime.py
@@ -18,6 +18,7 @@
import unittest
+from rsa._compat import range
import rsa.prime
import rsa.randnum