Skip to content

Commit d514e76

Browse files
authored
Merge pull request #12 from thombashi/fix-logic-issues
Fix logic issues in type checking and conversion functions
2 parents de7043e + 4692c23 commit d514e76

8 files changed

Lines changed: 9 additions & 12 deletions

File tree

typepy/checker/_common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88

99
def isstring(value):
10-
return isinstance(value, (str,) + (str, bytes))
10+
return isinstance(value, (str, bytes))
1111

1212

1313
def isinf(value):

typepy/checker/_dictionary.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def is_instance(self):
1010
return isinstance(self._value, dict)
1111

1212
def is_valid_after_convert(self, converted_value):
13-
return isinstance(converted_value, dict) and converted_value
13+
return isinstance(converted_value, dict) and bool(converted_value)
1414

1515

1616
class DictionaryTypeCheckerStrictLevel1(DictionaryTypeCheckerStrictLevel0):

typepy/checker/_integer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def is_exclude_instance(self):
5555

5656
class IntegerTypeCheckerStrictLevel2(IntegerTypeCheckerStrictLevel1):
5757
def is_exclude_instance(self):
58-
return isinstance(self._value, (str,) + (bool, float, Decimal))
58+
return isinstance(self._value, (str, bool, float, Decimal))
5959

6060

6161
_factory = CheckerFactory(

typepy/checker/_list.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def is_instance(self):
1111
return isinstance(self._value, list)
1212

1313
def is_valid_after_convert(self, converted_value):
14-
return isinstance(converted_value, list) and converted_value
14+
return isinstance(converted_value, list) and bool(converted_value)
1515

1616
def is_exclude_instance(self):
1717
return isstring(self._value)

typepy/converter/_bool.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ def __strict_strtobool(value):
3636
except AttributeError:
3737
raise ValueError(f"invalid value '{str(value)}'")
3838

39-
if lower_text in ["true"]:
39+
if lower_text == "true":
4040
return True
41-
elif lower_text in ["false"]:
41+
elif lower_text == "false":
4242
return False
4343

4444
raise ValueError(f"invalid value '{str(value)}'")

typepy/converter/_bytes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88

99
class BytesConverter(AbstractValueConverter):
1010
def force_convert(self):
11-
raise TypeConversionError("not inmplemented")
11+
raise TypeConversionError("not implemented")

typepy/converter/_ipaddress.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,4 @@ def force_convert(self):
2525
except ValueError:
2626
pass
2727

28-
raise TypeConversionError(
29-
f"failed to force_convert to dictionary: type={type(self._value)}"
30-
)
28+
raise TypeConversionError(f"failed to force_convert to ipaddress: type={type(self._value)}")

typepy/converter/_string.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,4 @@ def force_convert(self):
1616

1717

1818
class NullStringConverter(StringConverter):
19-
def force_convert(self):
20-
return super().force_convert()
19+
pass

0 commit comments

Comments
 (0)