Skip to content

Commit d530250

Browse files
authored
Merge pull request #19 from jitsuin-inc/dev/eccles/cache-subclasses-for-efficiency
Dev/eccles/cache subclasses for efficiency
2 parents 35851dc + 1d3cef4 commit d530250

File tree

2 files changed

+56
-4
lines changed

2 files changed

+56
-4
lines changed

archivist/archivist.py

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,38 @@ def __init__(self, url, *, auth=None, cert=None, verify=True):
6767

6868
self._cert = cert
6969

70-
self.assets = _AssetsClient(self)
71-
self.events = _EventsClient(self)
72-
self.locations = _LocationsClient(self)
73-
self.attachments = _AttachmentsClient(self)
70+
self._assets = None
71+
self._events = None
72+
self._locations = None
73+
self._attachments = None
74+
75+
@property
76+
def assets(self):
77+
"""docstring"""
78+
if self._assets is None:
79+
self._assets = _AssetsClient(self)
80+
return self._assets
81+
82+
@property
83+
def events(self):
84+
"""docstring"""
85+
if self._events is None:
86+
self._events = _EventsClient(self)
87+
return self._events
88+
89+
@property
90+
def locations(self):
91+
"""docstring"""
92+
if self._locations is None:
93+
self._locations = _LocationsClient(self)
94+
return self._locations
95+
96+
@property
97+
def attachments(self):
98+
"""docstring"""
99+
if self._attachments is None:
100+
self._attachments = _AttachmentsClient(self)
101+
return self._attachments
74102

75103
@property
76104
def headers(self):

unittests/testarchivist.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,30 @@ def test_archivist(self):
3333
Test default archivist creation
3434
"""
3535
arch = Archivist("url", auth="authauthauth")
36+
self.assertIsNotNone(
37+
arch.assets,
38+
msg="Incorrect assets",
39+
)
40+
self.assertIsNotNone(
41+
arch.events,
42+
msg="Incorrect events",
43+
)
44+
self.assertIsNotNone(
45+
arch.locations,
46+
msg="Incorrect locations",
47+
)
48+
self.assertIsNotNone(
49+
arch.locations,
50+
msg="Incorrect locations",
51+
)
52+
self.assertIsNotNone(
53+
arch.attachments,
54+
msg="Incorrect attachments",
55+
)
56+
self.assertIsNotNone(
57+
arch.attachments,
58+
msg="Incorrect attachments",
59+
)
3660
self.assertEqual(
3761
arch.url,
3862
"url",

0 commit comments

Comments
 (0)