diff --git a/src/caoscrawler/identifiable.py b/src/caoscrawler/identifiable.py index dff17397a0cd4cc230f0cd4addb2bbd874a54b87..b7be840f722d7484df51f82c3725ba6955b25dc5 100644 --- a/src/caoscrawler/identifiable.py +++ b/src/caoscrawler/identifiable.py @@ -63,12 +63,12 @@ class Identifiable(): if properties is not None and 'name' in [k.lower() for k in properties.keys()]: raise ValueError("Please use the separete 'name' keyword instead of the properties " "dict for name") - self.record_id = record_id - self.path = path - self.record_type = record_type - self.name = name + self._record_id = record_id + self._path = path + self._record_type = record_type + self._name = name if name == "": - self.name = None + self._name = None self._properties: dict = {} if properties is not None: self._properties = properties @@ -78,6 +78,26 @@ class Identifiable(): self._representation = sha256( self._create_hashable_string(self).encode('utf-8')).hexdigest() + @property + def record_id(self): + """Read-only access to the record id. """ + return self._record_id.copy() + + @property + def path(self): + """Read-only access to the path. """ + return self._path.copy() + + @property + def name(self): + """Read-only access to the name. """ + return self._name.copy() + + @property + def record_type(self): + """Read-only access to the record_type. """ + return self._record_type.copy() + @property def properties(self): """Read-only access to the properties. """