Don't calculate private attributes each time the Hierarchy's properties
are called
This commit is contained in:
parent
147d29a633
commit
7bff0f806c
@ -48,6 +48,8 @@ class Hierarchy(PathLike):
|
|||||||
:type dest: str or path-like object
|
:type dest: str or path-like object
|
||||||
"""
|
"""
|
||||||
self._path = Path(dest).resolve()
|
self._path = Path(dest).resolve()
|
||||||
|
self._metadata_path = self._path / ".metadata"
|
||||||
|
self._name = self._path.name
|
||||||
|
|
||||||
def __fspath__(self):
|
def __fspath__(self):
|
||||||
return str(self._path)
|
return str(self._path)
|
||||||
@ -70,7 +72,7 @@ class Hierarchy(PathLike):
|
|||||||
|
|
||||||
:rtype: str
|
:rtype: str
|
||||||
"""
|
"""
|
||||||
return self._path.name
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def metadata_path(self):
|
def metadata_path(self):
|
||||||
@ -78,7 +80,7 @@ class Hierarchy(PathLike):
|
|||||||
|
|
||||||
:rtype: path-like object
|
:rtype: path-like object
|
||||||
"""
|
"""
|
||||||
return self._path / ".metadata"
|
return self._metadata_path
|
||||||
|
|
||||||
def gen_metadata(self):
|
def gen_metadata(self):
|
||||||
"""Generate metadata for this repository.
|
"""Generate metadata for this repository.
|
||||||
|
@ -32,6 +32,8 @@ class Snapshot(Hierarchy):
|
|||||||
"""Default constructor for the Snapshot class."""
|
"""Default constructor for the Snapshot class."""
|
||||||
super().__init__(path)
|
super().__init__(path)
|
||||||
|
|
||||||
|
self._pkg_dir = self.path / "pkg"
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
"""Return a string representation of this Snapshot."""
|
"""Return a string representation of this Snapshot."""
|
||||||
return f"{self.__class__.__name__}('{self.name}')"
|
return f"{self.__class__.__name__}('{self.name}')"
|
||||||
@ -42,7 +44,7 @@ class Snapshot(Hierarchy):
|
|||||||
|
|
||||||
:rtype: path-like object
|
:rtype: path-like object
|
||||||
"""
|
"""
|
||||||
return self.path / "pkg"
|
return self._pkg_dir
|
||||||
|
|
||||||
def gen_metadata(self):
|
def gen_metadata(self):
|
||||||
"""Generate metadata for this repository.
|
"""Generate metadata for this repository.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user