Skip to content

Commit 75213b5

Browse files
committed
-
1 parent e736ba3 commit 75213b5

File tree

5 files changed

+9
-5
lines changed

5 files changed

+9
-5
lines changed

source_py2/python_toolbox/combi/perm.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,15 +309,15 @@ def rapply(self, sequence, result_type=None):
309309

310310
permed_generator = (sequence[i] for i in self)
311311
if result_type is not None:
312-
if result_type is str:
312+
if result_type in (str, unicode):
313313
return ''.join(permed_generator)
314314
else:
315315
return result_type(permed_generator)
316316
elif isinstance(sequence, Perm):
317317
return Perm(permed_generator,
318318
sequence.just_dapplied_rapplied_perm_space)
319-
elif isinstance(sequence, str):
320-
return ''.join(permed_generator)
319+
elif isinstance(sequence, (str, unicode)):
320+
return type(sequence)().join(permed_generator)
321321
else:
322322
return tuple(permed_generator)
323323

source_py2/python_toolbox/sequence_tools/cute_range.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ def __init__(self, *args):
132132

133133
_reduced = property(lambda self: (type(self), (self.start, self.stop,
134134
self.step)))
135+
136+
__hash__ = lambda self: hash(self._reduced)
135137

136138
__eq__ = lambda self, other: (isinstance(other, CuteRange) and
137139
(self._reduced == other._reduced))

source_py2/python_toolbox/sequence_tools/misc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def get_recurrences(sequence):
236236

237237

238238
def ensure_iterable_is_immutable_sequence(iterable, default_type=tuple,
239-
unallowed_types=(bytes,),
239+
unallowed_types=(),
240240
allow_unordered=True):
241241
'''
242242
Return a version of `iterable` that is an immutable sequence.

source_py2/test_python_toolbox/test_combi/test_perm_space.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def test_perm_spaces():
2121
assert pure_0a == pure_0b == pure_0c == pure_0d
2222
assert len(pure_0a) == len(pure_0b) == len(pure_0c) == len(pure_0d)
2323
assert repr(pure_0a) == repr(pure_0b) == repr(pure_0c) == \
24-
repr(pure_0d) == '<PermSpace: range(0, 4)>'
24+
repr(pure_0d) == '<PermSpace: CuteRange(0, 4)>'
2525

2626
assert cute_iter_tools.are_equal(pure_0a, pure_0b, pure_0c, pure_0d)
2727

source_py3/python_toolbox/sequence_tools/cute_range.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ def __init__(self, *args):
126126

127127
_reduced = property(lambda self: (type(self), (self.start, self.stop,
128128
self.step)))
129+
130+
__hash__ = lambda self: hash(self._reduced)
129131

130132
__eq__ = lambda self, other: (isinstance(other, CuteRange) and
131133
(self._reduced == other._reduced))

0 commit comments

Comments
 (0)