Skip to content

Commit 2824b4a

Browse files
committed
Added slugs as accessable dunder properties
1 parent 1c8305f commit 2824b4a

File tree

3 files changed

+32
-8
lines changed

3 files changed

+32
-8
lines changed

src/pytito/admin/account.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,27 @@ def __init__(self, account_slug: str, json_content: Optional[dict[str, Any]] = N
3838
self.__account_slug = account_slug
3939
self.__api_key_internal = api_key
4040

41+
@property
42+
def _account_slug(self) -> str:
43+
return self.__account_slug
44+
4145
@property
4246
def _end_point(self) -> str:
43-
return super()._end_point + f'/{self.__account_slug}'
47+
return super()._end_point + f'/{self._account_slug}'
4448

4549
def _populate_json(self) -> None:
4650
self._json_content = self._get_response(endpoint='')['account']
47-
if self.__account_slug != self._json_content['slug']:
51+
if self._account_slug != self._json_content['slug']:
4852
raise ValueError('slug in json content does not match expected value')
4953

5054
def __event_getter(self, end_point: str) -> dict[str, Event]:
5155
response = self._get_response(end_point)
5256
return_dict:dict[str, Event] = {}
5357
for event in response['events']:
54-
if event['account_slug'] != self.__account_slug:
58+
if event['account_slug'] != self._account_slug:
5559
raise RuntimeError('Account Slug inconsistency')
5660
slug = event['slug']
57-
return_dict[slug] = Event(event_slug=slug, account_slug=self.__account_slug,
61+
return_dict[slug] = Event(event_slug=slug, account_slug=self._account_slug,
5862
api_key=self.__api_key_internal,
5963
json_content=event)
6064
return return_dict

src/pytito/admin/event.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,18 @@ def __init__(self, account_slug:str, event_slug:str,
3737
self.__account_slug = account_slug
3838
self.__event_slug = event_slug
3939

40+
@property
41+
def _account_slug(self) -> str:
42+
return self.__account_slug
43+
44+
@property
45+
def _event_slug(self) -> str:
46+
return self.__event_slug
47+
4048

4149
@property
4250
def _end_point(self) -> str:
43-
return super()._end_point + f'/{self.__account_slug}/{self.__event_slug}'
51+
return super()._end_point + f'/{self._account_slug}/{self._event_slug}'
4452

4553
@property
4654
def title(self) -> str:
@@ -53,7 +61,7 @@ def __ticket_getter(self) -> list[Ticket]:
5361

5462
def ticket_factory(json_content:dict[str, Any]) -> Ticket:
5563
ticket_slug = json_content['slug']
56-
return Ticket(event_slug=self.__event_slug, account_slug=self.__account_slug,
64+
return Ticket(event_slug=self.__event_slug, account_slug=self._account_slug,
5765
ticket_slug=ticket_slug, json_content=json_content)
5866

5967
response = self._get_response('tickets')

src/pytito/admin/ticket.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,26 @@ def __init__(self, account_slug:str, event_slug:str, ticket_slug:str,
5151
self.__event_slug = event_slug
5252
self.__ticket_slug = ticket_slug
5353

54+
@property
55+
def _account_slug(self) -> str:
56+
return self.__account_slug
57+
58+
@property
59+
def _event_slug(self) -> str:
60+
return self.__event_slug
61+
62+
@property
63+
def _ticket_slug(self) -> str:
64+
return self.__ticket_slug
65+
5466
@property
5567
def _end_point(self) -> str:
5668
return super()._end_point +\
57-
f'/{self.__account_slug}/{self.__event_slug}/tickets/{self.__ticket_slug}'
69+
f'/{self._account_slug}/{self._event_slug}/tickets/{self._ticket_slug}'
5870

5971
def _populate_json(self) -> None:
6072
self._json_content = self._get_response(endpoint='')['ticket']
61-
if self.__ticket_slug != self._json_content['slug']:
73+
if self._ticket_slug != self._json_content['slug']:
6274
raise ValueError('slug in json content does not match expected value')
6375
if self._json_content['view'] != 'extended':
6476
raise ValueError('expected the extended view of the ticket')

0 commit comments

Comments
 (0)