Only handle fave-related stuff when logged in

This commit is contained in:
Thomas Wade 2020-04-22 16:46:24 +09:30
parent abdc8fe67a
commit e7aba9e10a
2 changed files with 13 additions and 7 deletions

View File

@ -159,10 +159,10 @@ class Submission:
@property @property
def faved(self): def faved(self):
if self._faved is None: if self._api.logged_in and self._faved is None:
self._get_submission() self._get_submission()
return self._faved return self._faved if self._api.logged_in else None
@property @property
def recommended(self): def recommended(self):
@ -172,11 +172,11 @@ class Submission:
return self._recommended return self._recommended
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._api.logged_in and self.faved is False: # Usage of the faved property is deliberate to ensure _get_submission() has run
self._toggle_fave() self._toggle_fave()
def unfave(self): def unfave(self):
if self.faved is True: # Usage of the faved property is deliberate to ensure _get_submission() has run if self._api.logged_in and self.faved is True: # Usage of the faved property is deliberate to ensure _get_submission() has run
self._toggle_fave() self._toggle_fave()
def _get_submission(self): def _get_submission(self):
@ -195,8 +195,14 @@ class Submission:
self._faves = int(soup.select('.favorites .font-large')[0].text.strip()) self._faves = int(soup.select('.favorites .font-large')[0].text.strip())
self._views = int(soup.select('.views .font-large')[0].text.strip()) self._views = int(soup.select('.views .font-large')[0].text.strip())
self._download_url = 'https:' + soup.select('.download a')[0].get('href') self._download_url = 'https:' + soup.select('.download a')[0].get('href')
self._faved = '-' in soup.select('.fav')[0].text
self._fave_url = FA_BASE_URL + soup.select('.fav a')[0].get('href') # Only parse the fave button if we're logged in
if self._api.logged_in:
self._faved = '-' in soup.select('.fav')[0].text
self._fave_url = FA_BASE_URL + soup.select('.fav a')[0].get('href')
else:
self._faved = None
self._fave_url = None
# Parse preview # Parse preview
try: try:

View File

@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name='FAAPI', name='FAAPI',
version='0.5.1', version='0.5.2',
packages=find_packages(), packages=find_packages(),
url='https://tem.party/gitea/tom/FAAPI', url='https://tem.party/gitea/tom/FAAPI',
license='WTFPL', license='WTFPL',