Browse Source

Avoid using dulwich._compat for Python3 porting.

Jelmer Vernooij 10 years ago
parent
commit
6562fb9a46
4 changed files with 15 additions and 9 deletions
  1. 5 1
      dulwich/diff_tree.py
  2. 6 2
      dulwich/pack.py
  3. 1 3
      dulwich/tests/__init__.py
  4. 3 3
      dulwich/tests/utils.py

+ 5 - 1
dulwich/diff_tree.py

@@ -27,7 +27,11 @@ from io import BytesIO
 from itertools import chain
 import stat
 
-from dulwich._compat import izip
+try:
+    from itertools import izip
+except ImportError:
+    # Python3
+    izip = zip
 from dulwich.objects import (
     S_ISGITLINK,
     TreeEntry,

+ 6 - 2
dulwich/pack.py

@@ -40,6 +40,12 @@ from collections import (
 import difflib
 
 from itertools import chain
+try:
+    from itertools import imap, izip
+except ImportError:
+    # Python3
+    imap = map
+    izip = zip
 
 try:
     import mmap
@@ -55,10 +61,8 @@ from os import (
     )
 import struct
 from struct import unpack_from
-import warnings
 import zlib
 
-from dulwich._compat import imap, izip
 from dulwich.errors import (
     ApplyDeltaError,
     ChecksumMismatch,

+ 1 - 3
dulwich/tests/__init__.py

@@ -34,8 +34,6 @@ if sys.version_info < (2, 7):
 else:
     from unittest import SkipTest, TestCase as _TestCase
 
-from dulwich._compat import PY2
-
 
 def get_safe_env(env=None):
     """Returns the environment "env" (or a copy of "os.environ" by default)
@@ -181,7 +179,7 @@ def compat_test_suite():
 def test_suite():
     result = unittest.TestSuite()
     result.addTests(self_test_suite())
-    if PY2:
+    if sys.version_info[0] == 2:
         result.addTests(tutorial_test_suite())
     from dulwich.tests.compat import test_suite as compat_test_suite
     result.addTests(compat_test_suite())

+ 3 - 3
dulwich/tests/utils.py

@@ -23,6 +23,7 @@
 import datetime
 import os
 import shutil
+import sys
 import tempfile
 import time
 import types
@@ -33,7 +34,6 @@ from unittest import (
     )
 import warnings
 
-from dulwich._compat import iteritems, PY2
 from dulwich.index import (
     commit_tree,
     )
@@ -103,7 +103,7 @@ def make_object(cls, **attrs):
         pass
 
     obj = TestObject()
-    for name, value in iteritems(attrs):
+    for name, value in attrs.items():
         if name == 'id':
             # id property is read-only, so we overwrite sha instead.
             sha = FixedSha(value)
@@ -334,4 +334,4 @@ def setup_warning_catcher():
 
     return caught_warnings, restore_showwarning
 
-skipIfPY3 = skipIf(not PY2, "Feature not yet ported to python3.")
+skipIfPY3 = skipIf(sys.version_info[0] == 3, "Feature not yet ported to python3.")