Show More
@@ -16,6 +16,9 b' import sys' | |||||
16 | import types |
|
16 | import types | |
17 | from datetime import datetime |
|
17 | from datetime import datetime | |
18 |
|
18 | |||
|
19 | from IPython.utils import py3compat | |||
|
20 | next_attr_name = '__next__' if py3compat.PY3 else 'next' | |||
|
21 | ||||
19 | #----------------------------------------------------------------------------- |
|
22 | #----------------------------------------------------------------------------- | |
20 | # Globals and constants |
|
23 | # Globals and constants | |
21 | #----------------------------------------------------------------------------- |
|
24 | #----------------------------------------------------------------------------- | |
@@ -134,7 +137,7 b' def json_clean(obj):' | |||||
134 | return obj.decode(sys.getdefaultencoding(), 'replace') |
|
137 | return obj.decode(sys.getdefaultencoding(), 'replace') | |
135 |
|
138 | |||
136 | if isinstance(obj, container_to_list) or ( |
|
139 | if isinstance(obj, container_to_list) or ( | |
137 |
hasattr(obj, '__iter__') and hasattr(obj, |
|
140 | hasattr(obj, '__iter__') and hasattr(obj, next_attr_name)): | |
138 | obj = list(obj) |
|
141 | obj = list(obj) | |
139 |
|
142 | |||
140 | if isinstance(obj, list): |
|
143 | if isinstance(obj, list): |
@@ -66,7 +66,7 b' def find_cmd(cmd):' | |||||
66 | except OSError: |
|
66 | except OSError: | |
67 | raise FindCmdError('command could not be found: %s' % cmd) |
|
67 | raise FindCmdError('command could not be found: %s' % cmd) | |
68 | # which returns empty if not found |
|
68 | # which returns empty if not found | |
69 | if path == '': |
|
69 | if path == b'': | |
70 | raise FindCmdError('command could not be found: %s' % cmd) |
|
70 | raise FindCmdError('command could not be found: %s' % cmd) | |
71 | return os.path.abspath(path) |
|
71 | return os.path.abspath(path) | |
72 |
|
72 |
@@ -31,18 +31,25 b' from IPython.testing import decorators as dec' | |||||
31 | from IPython.testing.decorators import skip_if_not_win32, skip_win32 |
|
31 | from IPython.testing.decorators import skip_if_not_win32, skip_win32 | |
32 | from IPython.testing.tools import make_tempfile |
|
32 | from IPython.testing.tools import make_tempfile | |
33 | from IPython.utils import path, io |
|
33 | from IPython.utils import path, io | |
|
34 | from IPython.utils import py3compat | |||
34 |
|
35 | |||
35 | # Platform-dependent imports |
|
36 | # Platform-dependent imports | |
36 | try: |
|
37 | try: | |
37 | import _winreg as wreg |
|
38 | import _winreg as wreg | |
38 | except ImportError: |
|
39 | except ImportError: | |
39 | #Fake _winreg module on none windows platforms |
|
40 | #Fake _winreg module on none windows platforms | |
40 |
import |
|
41 | import types | |
41 | sys.modules["_winreg"] = new.module("_winreg") |
|
42 | wr_name = "winreg" if py3compat.PY3 else "_winreg" | |
|
43 | sys.modules[wr_name] = types.ModuleType(wr_name) | |||
42 | import _winreg as wreg |
|
44 | import _winreg as wreg | |
43 | #Add entries that needs to be stubbed by the testing code |
|
45 | #Add entries that needs to be stubbed by the testing code | |
44 | (wreg.OpenKey, wreg.QueryValueEx,) = (None, None) |
|
46 | (wreg.OpenKey, wreg.QueryValueEx,) = (None, None) | |
45 |
|
47 | |||
|
48 | try: | |||
|
49 | reload | |||
|
50 | except NameError: # Python 3 | |||
|
51 | from imp import reload | |||
|
52 | ||||
46 | #----------------------------------------------------------------------------- |
|
53 | #----------------------------------------------------------------------------- | |
47 | # Globals |
|
54 | # Globals | |
48 | #----------------------------------------------------------------------------- |
|
55 | #----------------------------------------------------------------------------- |
@@ -37,7 +37,7 b' def test_find_cmd_python():' | |||||
37 | def test_find_cmd_ls(): |
|
37 | def test_find_cmd_ls(): | |
38 | """Make sure we can find the full path to ls.""" |
|
38 | """Make sure we can find the full path to ls.""" | |
39 | path = find_cmd('ls') |
|
39 | path = find_cmd('ls') | |
40 | nt.assert_true(path.endswith('ls')) |
|
40 | nt.assert_true(path.endswith(b'ls')) | |
41 |
|
41 | |||
42 |
|
42 | |||
43 | def has_pywin32(): |
|
43 | def has_pywin32(): |
@@ -587,10 +587,10 b' class EvalFormatter(Formatter):' | |||||
587 | -------- |
|
587 | -------- | |
588 |
|
588 | |||
589 | In [1]: f = EvalFormatter() |
|
589 | In [1]: f = EvalFormatter() | |
590 | In [2]: f.format('{n/4}', n=8) |
|
590 | In [2]: f.format('{n//4}', n=8) | |
591 | Out[2]: '2' |
|
591 | Out[2]: '2' | |
592 |
|
592 | |||
593 | In [3]: f.format('{range(3)}') |
|
593 | In [3]: f.format('{list(range(3))}') | |
594 | Out[3]: '[0, 1, 2]' |
|
594 | Out[3]: '[0, 1, 2]' | |
595 |
|
595 | |||
596 | In [4]: f.format('{3*2}') |
|
596 | In [4]: f.format('{3*2}') |
@@ -882,7 +882,9 b' class CInt(Int):' | |||||
882 | except: |
|
882 | except: | |
883 | self.error(obj, value) |
|
883 | self.error(obj, value) | |
884 |
|
884 | |||
885 |
if |
|
885 | if py3compat.PY3: | |
|
886 | Long, CLong = Int, CInt | |||
|
887 | else: | |||
886 | class Long(TraitType): |
|
888 | class Long(TraitType): | |
887 | """A long integer trait.""" |
|
889 | """A long integer trait.""" | |
888 |
|
890 |
General Comments 0
You need to be logged in to leave comments.
Login now