From ad5a3161bfd4230e4ae4d545bd6c54e499b0f0f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com> Date: Fri, 23 Feb 2024 21:02:03 +0100 Subject: [PATCH] MAINT: make more attributes properties --- src/caoscrawler/identifiable.py | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/caoscrawler/identifiable.py b/src/caoscrawler/identifiable.py index dff17397..b7be840f 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. """ -- GitLab