-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPage.py
39 lines (33 loc) · 1.17 KB
/
Page.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# This class represents a page of items
# each item is either a song or playlist
class Page:
def __init__(self, totalAvailableResults, numResults, nextPageToken, prevPageToken):
self.__totalAvailableResults = totalAvailableResults
self.__numResults = numResults
self.__nextPageToken = nextPageToken
self.__prevPageToken = prevPageToken
self.__items = []
@classmethod
def fromDict(self, dataAsDict):
totalAvailableResults = dataAsDict['totalResults']
numResults = dataAsDict['resultsShowing']
nextPageToken = dataAsDict['nextPageToken']
prevPageToken = dataAsDict['prevPageToken']
newInstance = self(totalAvailableResults, numResults, nextPageToken, prevPageToken)
return newInstance
def AddItem(self, item):
self.__items += [item]
def GetItems(self):
return self.__items
def SetItems(self, items):
self.__items = items
def AsDict(self):
result = {}
result['totalResults'] = self.__totalAvailableResults
result['resultsShowing'] = self.__numResults
result['nextPageToken'] = self.__nextPageToken
result['prevPageToken'] = self.__prevPageToken
result['items'] = []
for item in self.__items:
result['items'] += [item.AsDict()]
return result