-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcultural_objects.py
More file actions
157 lines (104 loc) · 3.13 KB
/
cultural_objects.py
File metadata and controls
157 lines (104 loc) · 3.13 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
class IdentifiableEntity(object):
def __init__(self, id: str):
self.id = id
def getId(self) -> str:
return self.id
class Person(IdentifiableEntity): # Simone
def __init__(self, id: str, name: str):
self.name = name
super().__init__(id)
def getName(self) -> str:
return self.name
class CulturalHeritageObject(IdentifiableEntity): # Simone
def __init__(self, id: str, title: str, owner: str, place: str, date: str = None, hasAuthor: list = list()):
self.title = title
self.date = date
self.owner = owner
self.place = place
self.hasAuthor = hasAuthor
super().__init__(id)
def getTitle(self) -> str:
return self.title
def getDate(self) -> str | None:
return self.date
def getOwner(self) -> str:
return self.owner
def getPlace(self) -> str:
return self.place
def getAuthors(self) -> list:
return self.hasAuthor
class NauticalChart(CulturalHeritageObject):
pass
class ManuscriptPlate(CulturalHeritageObject):
pass
class ManuscriptVolume(CulturalHeritageObject):
pass
class PrintedVolume(CulturalHeritageObject):
pass
class PrintedMaterial(CulturalHeritageObject):
pass
class Herbarium(CulturalHeritageObject):
pass
class Specimen(CulturalHeritageObject):
pass
class Painting(CulturalHeritageObject):
pass
class Model(CulturalHeritageObject):
pass
class Map(CulturalHeritageObject):
pass
"""
All the arguments have suggested input type. The optionals arguments are None by
default, except tool, that by default is an empty set.
"""
class Activity(object): # Romolo
def __init__(
self,
institute: str,
culturalHeritageObject: CulturalHeritageObject,
person: str = None,
tool: set = set(),
start: str = None,
end: str = None,
):
self.institute = institute
self.person = person
self.tool = tool
self.start = start
self.end = end
self.culturalHeritageObject = culturalHeritageObject
def getResponsibleInstitute(self) -> str:
return self.institute
def getResponsiblePerson(self) -> str | None:
return self.person
def getTools(self) -> set:
return self.tool
def getStartDate(self) -> str | None:
return self.start
def getEndDate(self) -> str | None:
return self.end
def refersTo(self) -> CulturalHeritageObject:
return self.culturalHeritageObject
class Acquisition(Activity): # Romolo
def __init__(
self,
technique: str,
institute: str,
culturalHeritageObject: CulturalHeritageObject,
person: str = None,
tool: set = set(),
start: str = None,
end: str = None,
):
super().__init__(institute, culturalHeritageObject, person, tool, start, end)
self.technique = technique
def getTechnique(self) -> str:
return self.technique
class Processing(Activity):
pass
class Modelling(Activity):
pass
class Optimising(Activity):
pass
class Exporting(Activity):
pass