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
def faved(self):
if self._faved is None:
if self._api.logged_in and self._faved is None:
self._get_submission()
return self._faved
return self._faved if self._api.logged_in else None
@property
def recommended(self):
@ -172,11 +172,11 @@ class Submission:
return self._recommended
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()
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()
def _get_submission(self):
@ -195,8 +195,14 @@ class Submission:
self._faves = int(soup.select('.favorites .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')
# 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
try:

View File

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