Cache submissions
This commit is contained in:
parent
96702a3511
commit
69ff0a40b8
@ -11,6 +11,8 @@ class Submission:
|
||||
A FurAffinity submission.
|
||||
"""
|
||||
|
||||
_submissioncache = {}
|
||||
|
||||
def __init__(self, api, id: int):
|
||||
self._api = api
|
||||
self.id: int = id
|
||||
@ -144,6 +146,14 @@ class Submission:
|
||||
|
||||
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):
|
||||
if self.faved is False: # Usage of the faved property is deliberate to ensure _get_submission() has run
|
||||
self._toggle_fave()
|
||||
|
||||
4
User.py
4
User.py
@ -78,7 +78,7 @@ class User:
|
||||
|
||||
# Get all the submissions on this page
|
||||
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)
|
||||
|
||||
return submissions
|
||||
@ -99,7 +99,7 @@ class User:
|
||||
|
||||
# Get all the submissions on this page
|
||||
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)
|
||||
|
||||
return submissions
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user