FireBot/overrides.py

30 lines
768 B
Python
Raw Normal View History

2023-11-05 01:37:35 +00:00
#!/usr/bin/python3
from builtins import bytes as bbytes
from typing import TypeVar, Type, Any
_T = TypeVar("_T")
class bytes(bbytes):
"""Local override of builtin bytes class to add "lazy_decode" """
def __new__(
cls: Type[_T],
thing: Any = None,
encoding: str = "UTF-8",
errors: str = "strict",
) -> _T:
if type(thing) == str:
cls.value = super().__new__(cls, thing, encoding, errors)
elif thing == None:
cls.value = super().__new__(cls)
elif thing != None:
cls.value = super().__new__(cls, thing)
else:
raise AttributeError("wtf")
return cls.value
@classmethod
def lazy_decode(self):
return str(self.value)[2:-1]