An error occurred while loading the file. Please try again.
-
Michał Pogoda authorede25eadab
detection.py 2.67 KiB
from dataclasses import dataclass
from typing import Optional
@dataclass
class Detection:
TYPE_NAME = "detection"
def __init__(self) -> None:
pass
def __hash__(self) -> int:
return (type(self), *(self.__dict__.values())).__hash__()
class MorphosyntacticInfoMixin:
def __init__(self, morpho_tag: str, *args, **kwargs) -> None:
super().__init__(*args, **kwargs)
self._morpho_tag = morpho_tag
@property
def morpho_tag(self) -> str:
return self._morpho_tag
class NameDetection(MorphosyntacticInfoMixin, Detection):
TYPE_NAME = "name"
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag)
class SurnameDetection(MorphosyntacticInfoMixin, Detection):
TYPE_NAME = "surname"
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag)
class StreetNameDetection(MorphosyntacticInfoMixin, Detection):
TYPE_NAME = "street_name"
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag)
class CityDetection(MorphosyntacticInfoMixin, Detection):
TYPE_NAME = "city"
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag)
class CountryDetection(MorphosyntacticInfoMixin, Detection):
TYPE_NAME = "country"
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag)
class UrlDetection(Detection):
TYPE_NAME = "url"
def __init__(self) -> None:
super().__init__()
class UserDetection(Detection):
TYPE_NAME = "user"
def __init__(self) -> None:
super().__init__()
class EmailDetection(Detection):
TYPE_NAME = "email"
def __init__(self) -> None:
super().__init__()
class NumberDetection(Detection):
TYPE_NAME = "number"
def __init__(self) -> None:
super().__init__()
class PhoneNumberDetection(NumberDetection):
TYPE_NAME = "phone_number"
def __init__(self) -> None:
super().__init__()
class TINDetection(Detection): # Tax Identification Number
TYPE_NAME = "tin"
def __init__(self) -> None:
super().__init__()
class KRSDetection(Detection): # National Court Register
TYPE_NAME = "krs"
def __init__(self) -> None:
super().__init__()
class OtherDetection(Detection): # Non standard entity
TYPE_NAME = "other"
def __init__(self) -> None:
super().__init__()