Skip to content

Commit 6c92c82

Browse files
committed
Python 3 compatibility
func_name StringIO ifilter
1 parent 43c3a26 commit 6c92c82

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

strategies/branch/core.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
""" Generic SymPy-Independent Strategies """
2-
import itertools
3-
from toolz import curry
2+
from toolz import curry, filter
43

54
def identity(x):
65
yield x
@@ -31,7 +30,7 @@ def debug(fn, file=None):
3130
file = stdout
3231

3332
def write(brl, x, result):
34-
file.write("Rule: %s\n"%brl.func_name)
33+
file.write("Rule: %s\n"%brl.__name__)
3534
file.write("In: %s\nOut: %s\n\n"%(x, result))
3635

3736
return onaction(fn, write)
@@ -59,7 +58,7 @@ def condition(cond, fn, x):
5958
@curry
6059
def sfilter(pred, fn, x):
6160
""" Yield only those results which satisfy the predicate """
62-
for x in itertools.ifilter(pred, fn(x)):
61+
for x in filter(pred, fn(x)):
6362
yield x
6463

6564
@curry

strategies/branch/tests/test_core.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,18 @@ def test_exhaust():
3535
assert set(brl(5)) == set([0, 10])
3636

3737
def test_debug():
38-
import StringIO
39-
file = StringIO.StringIO()
38+
try:
39+
from StringIO import StringIO
40+
except ImportError:
41+
from io import StringIO
42+
43+
file = StringIO()
4044
rl = debug(posdec, file)
4145
list(rl(5))
4246
log = file.getvalue()
4347
file.close()
4448

45-
assert posdec.func_name in log
49+
assert posdec.__name__ in log
4650
assert '5' in log
4751
assert '4' in log
4852

strategies/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def debug(fn, file=None):
4242
file = stdout
4343

4444
def write(fn, x, result):
45-
file.write("Fn: %s\n"%fn.func_name)
45+
file.write("Fn: %s\n"%fn.__name__)
4646
file.write("In: %s\nOut: %s\n\n"%(x, result))
4747

4848
return onaction(fn, write)

strategies/tests/test_core.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,17 @@ def test_do_one():
3333
assert rl(5) == 4
3434

3535
def test_debug():
36-
import StringIO
37-
file = StringIO.StringIO()
36+
try:
37+
from StringIO import StringIO
38+
except ImportError:
39+
from io import StringIO
40+
file = StringIO()
3841
rl = debug(posdec, file)
3942
rl(5)
4043
log = file.getvalue()
4144
file.close()
4245

43-
assert posdec.func_name in log
46+
assert posdec.__name__ in log
4447
assert '5' in log
4548
assert '4' in log
4649

0 commit comments

Comments
 (0)