Skip to content

Commit

Permalink
Make it possible to import AbstractType from typepy.type
Browse files Browse the repository at this point in the history
  • Loading branch information
thombashi committed Feb 29, 2020
1 parent 9cfb2d6 commit 52bc18a
Show file tree
Hide file tree
Showing 8 changed files with 23 additions and 11 deletions.
3 changes: 2 additions & 1 deletion typepy/checker/_bool.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from __future__ import absolute_import

from .._const import StrictLevel
from ..type._integer import Integer
from ._checker import CheckerFactory, TypeCheckerBase, TypeCheckerDelegator
from ._common import isstring

Expand All @@ -22,6 +21,8 @@ def is_valid_after_convert(self, converted_value):

class BoolTypeCheckerStrictLevel1(BoolTypeCheckerStrictLevel0):
def is_exclude_instance(self):
from ..type._integer import Integer

return Integer(self._value, strict_level=StrictLevel.MAX).is_type()


Expand Down
3 changes: 2 additions & 1 deletion typepy/checker/_datetime.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

from datetime import date, datetime

from ..type._integer import Integer
from ._checker import CheckerFactory, TypeCheckerBase, TypeCheckerDelegator
from ._common import isstring

Expand All @@ -20,6 +19,8 @@ def is_instance(self):

class DateTimeTypeCheckerStrictLevel1(DateTimeTypeCheckerStrictLevel0):
def is_exclude_instance(self):
from ..type._integer import Integer

# exclude timestamp
return Integer(self._value, strict_level=1).is_type()

Expand Down
3 changes: 2 additions & 1 deletion typepy/checker/_integer.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

import six

from ..type._realnumber import RealNumber
from ._checker import CheckerFactory, TypeCheckerBase, TypeCheckerDelegator
from ._common import isinf, isnan

Expand Down Expand Up @@ -50,6 +49,8 @@ def is_instance(self):
return False

def is_exclude_instance(self):
from ..type._realnumber import RealNumber

return (
super(IntegerTypeCheckerStrictLevel1, self).is_exclude_instance()
or isinstance(self._value, bool)
Expand Down
1 change: 1 addition & 0 deletions typepy/type/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

from __future__ import absolute_import

from ._base import AbstractType
from ._binary import Binary
from ._bool import Bool
from ._datetime import DateTime
Expand Down
6 changes: 4 additions & 2 deletions typepy/type/_binary.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
from __future__ import absolute_import, unicode_literals

from .._typecode import Typecode
from ..checker import BinaryTypeChecker
from ..converter import BinaryConverter
from ._base import AbstractType


Expand All @@ -28,7 +26,11 @@ def __init__(self, value, strict_level=1, **kwargs):
super(Binary, self).__init__(value, strict_level, **kwargs)

def _create_type_checker(self):
from ..checker import BinaryTypeChecker

return BinaryTypeChecker(self._data, self._strict_level)

def _create_type_converter(self):
from ..converter import BinaryConverter

return BinaryConverter(self._data, self._params)
6 changes: 4 additions & 2 deletions typepy/type/_bool.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
from __future__ import absolute_import

from .._typecode import Typecode
from ..checker._bool import BoolTypeChecker
from ..converter._bool import BoolConverter
from ._base import AbstractType


Expand All @@ -31,7 +29,11 @@ def __init__(self, value, strict_level=2, **kwargs):
super(Bool, self).__init__(value, strict_level, **kwargs)

def _create_type_checker(self):
from ..checker._bool import BoolTypeChecker

return BoolTypeChecker(self._data, self._strict_level)

def _create_type_converter(self):
from ..converter._bool import BoolConverter

return BoolConverter(self._data, self._params)
6 changes: 4 additions & 2 deletions typepy/type/_integer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
from __future__ import absolute_import

from .._typecode import Typecode
from ..checker._integer import IntegerTypeChecker
from ..converter._integer import IntegerConverter
from ._base import AbstractType


Expand All @@ -30,7 +28,11 @@ def __init__(self, value, strict_level=1, **kwargs):
super(Integer, self).__init__(value, strict_level, **kwargs)

def _create_type_checker(self):
from ..checker._integer import IntegerTypeChecker

return IntegerTypeChecker(self._data, self._strict_level)

def _create_type_converter(self):
from ..converter._integer import IntegerConverter

return IntegerConverter(self._data, self._params)
6 changes: 4 additions & 2 deletions typepy/type/_realnumber.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

from .._const import DefaultValue
from .._typecode import Typecode
from ..checker._realnumber import RealNumberTypeChecker
from ..converter._realnumber import FloatConverter
from ._base import AbstractType


Expand All @@ -31,9 +29,13 @@ def __init__(self, value, strict_level=0, **kwargs):
super(RealNumber, self).__init__(value, strict_level, **kwargs)

def _create_type_checker(self):
from ..checker._realnumber import RealNumberTypeChecker

return RealNumberTypeChecker(self._data, self._strict_level)

def _create_type_converter(self):
from ..converter._realnumber import FloatConverter

converter = FloatConverter(self._data, self._params)
converter.float_class = self._params.get("float_type", DefaultValue.FLOAT_TYPE)

Expand Down

0 comments on commit 52bc18a

Please sign in to comment.