Skip to content
Snippets Groups Projects
detection.py 2.47 KiB
Newer Older
Michał Pogoda's avatar
Michał Pogoda committed
from typing import Optional

    TYPE_NAME = "detection"
    def __init__(self) -> None:
        pass
Michał Pogoda's avatar
Michał Pogoda committed
    def __hash__(self) -> int:
Michał Pogoda's avatar
Michał Pogoda committed
        return (type(self), *(self.__dict__.values())).__hash__()
Michał Pogoda's avatar
Michał Pogoda committed
class MorphosyntacticInfoMixin:
    def __init__(self, morpho_tag: str, *args, **kwargs) -> None:
        super().__init__(*args, **kwargs)
        self._morpho_tag = morpho_tag
Michał Pogoda's avatar
Michał Pogoda committed
    @property
    def morpho_tag(self) -> str:
        return self._morpho_tag
class NameDetection(MorphosyntacticInfoMixin, Detection):
    TYPE_NAME = "name"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self, morpho_tag: Optional[str] = None) -> None:
        super().__init__(morpho_tag=morpho_tag)
class SurnameDetection(MorphosyntacticInfoMixin, Detection):
    TYPE_NAME = "surname"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self, morpho_tag: Optional[str] = None) -> None:
        super().__init__(morpho_tag=morpho_tag)
class StreetNameDetection(MorphosyntacticInfoMixin, Detection):
    TYPE_NAME = "street_name"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self, morpho_tag: Optional[str] = None) -> None:
        super().__init__(morpho_tag=morpho_tag)
class CityDetection(MorphosyntacticInfoMixin, Detection):
    TYPE_NAME = "city"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self, morpho_tag: Optional[str] = None) -> None:
        super().__init__(morpho_tag=morpho_tag)
class CountryDetection(MorphosyntacticInfoMixin, Detection):
    TYPE_NAME = "country"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self, morpho_tag: Optional[str] = None) -> None:
        super().__init__(morpho_tag=morpho_tag)
    TYPE_NAME = "url"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
    TYPE_NAME = "user"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
    TYPE_NAME = "email"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
Michał Pogoda's avatar
Michał Pogoda committed
class NumberDetection(Detection):
    TYPE_NAME = "number"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
Michał Pogoda's avatar
Michał Pogoda committed
        super().__init__()


Michał Pogoda's avatar
Michał Pogoda committed
class PhoneNumberDetection(NumberDetection):
    TYPE_NAME = "phone_number"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
Michał Pogoda's avatar
Michał Pogoda committed


class TINDetection(Detection):  # Tax Identification Number
    TYPE_NAME = "tin"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
Michał Pogoda's avatar
Michał Pogoda committed


class KRSDetection(Detection):  # National Court Register
    TYPE_NAME = "krs"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
        super().__init__()
Michał Pogoda's avatar
Michał Pogoda committed


class OtherDetection(Detection):  # Non standard entity
    TYPE_NAME = "other"
Michał Pogoda's avatar
Michał Pogoda committed
    def __init__(self) -> None:
Michał Pogoda's avatar
Michał Pogoda committed
        super().__init__()