From e7aba9e10a4e359dac82edddd3369e2130292a2c Mon Sep 17 00:00:00 2001 From: Thomas Wade Date: Wed, 22 Apr 2020 16:46:24 +0930 Subject: [PATCH] Only handle fave-related stuff when logged in --- FAAPI/FAAPI.py | 18 ++++++++++++------ setup.py | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/FAAPI/FAAPI.py b/FAAPI/FAAPI.py index f679fca..1af2814 100644 --- a/FAAPI/FAAPI.py +++ b/FAAPI/FAAPI.py @@ -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') - 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 try: diff --git a/setup.py b/setup.py index 5bc9eb2..0a1e966 100644 --- a/setup.py +++ b/setup.py @@ -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',