From 8b731994b1543d7886af85f926d9eea5a22d0732 Mon Sep 17 00:00:00 2001 From: Anthon van der Neut Date: Mon, 1 May 2023 19:13:50 +0200 Subject: retrofitted 0.18 changes --- scalarint.py | 55 +++++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 30 deletions(-) (limited to 'scalarint.py') diff --git a/scalarint.py b/scalarint.py index 1572b0f..3a2603d 100644 --- a/scalarint.py +++ b/scalarint.py @@ -2,15 +2,13 @@ from ruamel.yaml.anchor import Anchor -if False: # MYPY - from typing import Text, Any, Dict, List # NOQA +from typing import Text, Any, Dict, List # NOQA __all__ = ['ScalarInt', 'BinaryInt', 'OctalInt', 'HexInt', 'HexCapsInt', 'DecimalInt'] class ScalarInt(int): - def __new__(cls, *args, **kw): - # type: (Any, Any, Any) -> Any + def __new__(cls: Any, *args: Any, **kw: Any) -> Any: width = kw.pop('width', None) underscore = kw.pop('underscore', None) anchor = kw.pop('anchor', None) @@ -21,8 +19,7 @@ class ScalarInt(int): v.yaml_set_anchor(anchor, always_dump=True) return v - def __iadd__(self, a): # type: ignore - # type: (Any) -> Any + def __iadd__(self, a: Any) -> Any: # type: ignore x = type(self)(self + a) x._width = self._width # type: ignore x._underscore = ( # type: ignore @@ -30,8 +27,7 @@ class ScalarInt(int): ) # NOQA return x - def __ifloordiv__(self, a): # type: ignore - # type: (Any) -> Any + def __ifloordiv__(self, a: Any) -> Any: # type: ignore x = type(self)(self // a) x._width = self._width # type: ignore x._underscore = ( # type: ignore @@ -39,8 +35,7 @@ class ScalarInt(int): ) # NOQA return x - def __imul__(self, a): # type: ignore - # type: (Any) -> Any + def __imul__(self, a: Any) -> Any: # type: ignore x = type(self)(self * a) x._width = self._width # type: ignore x._underscore = ( # type: ignore @@ -48,8 +43,7 @@ class ScalarInt(int): ) # NOQA return x - def __ipow__(self, a): # type: ignore - # type: (Any) -> Any + def __ipow__(self, a: Any) -> Any: # type: ignore x = type(self)(self ** a) x._width = self._width # type: ignore x._underscore = ( # type: ignore @@ -57,8 +51,7 @@ class ScalarInt(int): ) # NOQA return x - def __isub__(self, a): # type: ignore - # type: (Any) -> Any + def __isub__(self, a: Any) -> Any: # type: ignore x = type(self)(self - a) x._width = self._width # type: ignore x._underscore = ( # type: ignore @@ -67,35 +60,34 @@ class ScalarInt(int): return x @property - def anchor(self): - # type: () -> Any + def anchor(self) -> Any: if not hasattr(self, Anchor.attrib): setattr(self, Anchor.attrib, Anchor()) return getattr(self, Anchor.attrib) - def yaml_anchor(self, any=False): - # type: (bool) -> Any + def yaml_anchor(self, any: bool = False) -> Any: if not hasattr(self, Anchor.attrib): return None if any or self.anchor.always_dump: return self.anchor return None - def yaml_set_anchor(self, value, always_dump=False): - # type: (Any, bool) -> None + def yaml_set_anchor(self, value: Any, always_dump: bool = False) -> None: self.anchor.value = value self.anchor.always_dump = always_dump class BinaryInt(ScalarInt): - def __new__(cls, value, width=None, underscore=None, anchor=None): - # type: (Any, Any, Any, Any) -> Any + def __new__( + cls, value: Any, width: Any = None, underscore: Any = None, anchor: Any = None + ) -> Any: return ScalarInt.__new__(cls, value, width=width, underscore=underscore, anchor=anchor) class OctalInt(ScalarInt): - def __new__(cls, value, width=None, underscore=None, anchor=None): - # type: (Any, Any, Any, Any) -> Any + def __new__( + cls, value: Any, width: Any = None, underscore: Any = None, anchor: Any = None + ) -> Any: return ScalarInt.__new__(cls, value, width=width, underscore=underscore, anchor=anchor) @@ -106,22 +98,25 @@ class OctalInt(ScalarInt): class HexInt(ScalarInt): """uses lower case (a-f)""" - def __new__(cls, value, width=None, underscore=None, anchor=None): - # type: (Any, Any, Any, Any) -> Any + def __new__( + cls, value: Any, width: Any = None, underscore: Any = None, anchor: Any = None + ) -> Any: return ScalarInt.__new__(cls, value, width=width, underscore=underscore, anchor=anchor) class HexCapsInt(ScalarInt): """uses upper case (A-F)""" - def __new__(cls, value, width=None, underscore=None, anchor=None): - # type: (Any, Any, Any, Any) -> Any + def __new__( + cls, value: Any, width: Any = None, underscore: Any = None, anchor: Any = None + ) -> Any: return ScalarInt.__new__(cls, value, width=width, underscore=underscore, anchor=anchor) class DecimalInt(ScalarInt): """needed if anchor""" - def __new__(cls, value, width=None, underscore=None, anchor=None): - # type: (Any, Any, Any, Any) -> Any + def __new__( + cls, value: Any, width: Any = None, underscore: Any = None, anchor: Any = None + ) -> Any: return ScalarInt.__new__(cls, value, width=width, underscore=underscore, anchor=anchor) -- cgit v1.2.1