Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from dataclasses import dataclass
from typing import Optional
@dataclass
class Annotation:
def __init__(self, type_name: str) -> None:
self._type_name = type_name
def __hash__(self) -> int:
return tuple(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 NameAnnotation(MorphosyntacticInfoMixin, Annotation):
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag, type_name="name")
class SurnameAnnotation(MorphosyntacticInfoMixin, Annotation):
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag, type_name="surname")
class StreetNameAnnotation(MorphosyntacticInfoMixin, Annotation):
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag, type_name="street_name")
class CityAnnotation(MorphosyntacticInfoMixin, Annotation):
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag, type_name="city")
class CountryAnnotation(MorphosyntacticInfoMixin, Annotation):
def __init__(self, morpho_tag: Optional[str] = None) -> None:
super().__init__(morpho_tag=morpho_tag, type_name="country")
class PhoneNumberAnnotation(Annotation):
def __init__(self) -> None:
super().__init__("phone_number")
class UrlAnnotation(Annotation):
def __init__(self) -> None:
super().__init__("url")
class UserAnnotation(Annotation):
def __init__(self) -> None:
super().__init__("user")
class EmailAnnotation(Annotation):
def __init__(self) -> None:
super().__init__("email")
class TINAnnotation(Annotation): # Tax Identification Number
def __init__(self) -> None:
super().__init__("tin")
class KRSAnnotation(Annotation): # National Court Register
def __init__(self) -> None:
super().__init__("krs")
class OtherAnnotation(Annotation): # Non standard entity
def __init__(self) -> None:
super().__init__("other")