From 65fba50c1c892b48be6a91dbf58453d4e956608f Mon Sep 17 00:00:00 2001 From: Thomas Wade Date: Tue, 21 Apr 2020 05:39:40 +0930 Subject: [PATCH] Handle missing preview This occurs when processing flash files --- Submission.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Submission.py b/Submission.py index 46b1a76..5ad8370 100644 --- a/Submission.py +++ b/Submission.py @@ -29,6 +29,7 @@ class Submission: self._faves: int = None self._comments: List[Comment.Comment] = None self._views: int = None + self._has_preview: bool = None self._preview_url: str = None self._download_url: str = None self._faved: bool = None @@ -127,7 +128,7 @@ class Submission: @property def preview_url(self): - if not self._preview_url: + if (not self._preview_url and self._has_preview is True) or self._has_preview is None: self._get_submission() return self._preview_url @@ -177,11 +178,18 @@ class Submission: self._gender = soup.select('.info div:nth-of-type(3) span')[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._preview_url = 'https:' + soup.select('#submissionImg')[0].get('data-preview-src') - self._download_url = 'https:' + soup.select('#submissionImg')[0].get('data-fullview-src') + self._download_url = 'https:' + soup.select('.download a')[0].get('href') self._faved = '-' in soup.select('.fav')[0].text self._fave_url = FAAPI.FA_BASE_URL + soup.select('.fav a')[0].get('href') + # Parse preview + try: + self._preview_url = 'https:' + soup.select('#submissionImg')[0].get('data-preview-src') + except IndexError: + self._preview_url = None + finally: + self._has_preview = self._preview_url is not None + # Parse comments self._comments = [] for comment_element in soup.select('.comment_container'):