Skip to content

Commit c87b700

Browse files
authored
Merge pull request #41 from pomponchik/develop
0.0.30
2 parents a410e02 + 0ad02ad commit c87b700

3 files changed

Lines changed: 23 additions & 5 deletions

File tree

cantok/tokens/condition_token.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,16 @@ def run_function(self) -> bool:
5757
return result
5858

5959
def text_representation_of_superpower(self) -> str:
60-
result = self.function.__name__
60+
if hasattr(self.function, '__name__'):
61+
result = self.function.__name__
6162

62-
if result == '<lambda>':
63-
return 'λ'
63+
if result == '<lambda>':
64+
return 'λ'
6465

65-
return result
66+
return result
67+
68+
else:
69+
return repr(self.function)
6670

6771
def get_extra_kwargs(self) -> Dict[str, Any]:
6872
result = {}

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "cantok"
7-
version = "0.0.29"
7+
version = "0.0.30"
88
authors = [
99
{ name="Evgeniy Blinov", email="zheni-b@yandex.ru" },
1010
]

tests/units/tokens/test_condition_token.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,3 +461,17 @@ def function(): return False
461461
assert repr(ConditionToken(function, suppress_exceptions=False, default=True)) == 'ConditionToken(function, suppress_exceptions=False, default=True)'
462462

463463
assert repr(ConditionToken(function, suppress_exceptions=False, default=True, cancelled=True)) == 'ConditionToken(function, cancelled=True, suppress_exceptions=False, default=True)'
464+
465+
466+
def test_repr_for_class_based_function():
467+
class SomeChecker:
468+
def __call__(self) -> bool:
469+
return True
470+
471+
def __str__(self) -> str:
472+
return 'str_string'
473+
474+
def __repr__(self) -> str:
475+
return 'repr_string'
476+
477+
assert repr(ConditionToken(SomeChecker())) == 'ConditionToken(repr_string)'

0 commit comments

Comments
 (0)