Cache submissions
This commit is contained in:
parent
96702a3511
commit
69ff0a40b8
@ -11,6 +11,8 @@ class Submission:
|
|||||||
A FurAffinity submission.
|
A FurAffinity submission.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
_submissioncache = {}
|
||||||
|
|
||||||
def __init__(self, api, id: int):
|
def __init__(self, api, id: int):
|
||||||
self._api = api
|
self._api = api
|
||||||
self.id: int = id
|
self.id: int = id
|
||||||
@ -144,6 +146,14 @@ class Submission:
|
|||||||
|
|
||||||
return self._faved
|
return self._faved
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def new_or_cached(api, id: int):
|
||||||
|
if id not in Submission._submissioncache:
|
||||||
|
Submission._submissioncache[id] = Submission(api, id)
|
||||||
|
|
||||||
|
return Submission._submissioncache[id]
|
||||||
|
|
||||||
|
|
||||||
def fave(self):
|
def fave(self):
|
||||||
if self.faved is False: # Usage of the faved property is deliberate to ensure _get_submission() has run
|
if self.faved is False: # Usage of the faved property is deliberate to ensure _get_submission() has run
|
||||||
self._toggle_fave()
|
self._toggle_fave()
|
||||||
|
|||||||
4
User.py
4
User.py
@ -78,7 +78,7 @@ class User:
|
|||||||
|
|
||||||
# Get all the submissions on this page
|
# Get all the submissions on this page
|
||||||
for item in soup.select('.gallery figure'):
|
for item in soup.select('.gallery figure'):
|
||||||
sub = Submission.Submission(self._api, int(item.get('id')[4:])) # IDs look like 'sid-35908275', so we just skip the 'sid-'
|
sub = Submission.Submission.new_or_cached(self._api, int(item.get('id')[4:])) # IDs look like 'sid-35908275', so we just skip the 'sid-'
|
||||||
submissions.append(sub)
|
submissions.append(sub)
|
||||||
|
|
||||||
return submissions
|
return submissions
|
||||||
@ -99,7 +99,7 @@ class User:
|
|||||||
|
|
||||||
# Get all the submissions on this page
|
# Get all the submissions on this page
|
||||||
for item in soup.select('.gallery figure'):
|
for item in soup.select('.gallery figure'):
|
||||||
sub = Submission.Submission(self._api, int(item.get('id')[4:])) # IDs look like 'sid-35908275', so we just skip the 'sid-'
|
sub = Submission.Submission.new_or_cached(self._api, int(item.get('id')[4:])) # IDs look like 'sid-35908275', so we just skip the 'sid-'
|
||||||
submissions.append(sub)
|
submissions.append(sub)
|
||||||
|
|
||||||
return submissions
|
return submissions
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user