From 69c9c21f47ab8074fd9bdcda5e5e9f1907106a66 Mon Sep 17 00:00:00 2001 From: David Lynch Date: Wed, 29 Aug 2018 23:00:45 -0500 Subject: [PATCH] Avoid double-fetching the chapter contents Doesn't matter hugely if caching is enabled, but it's still suboptimal. --- sites/royalroad.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sites/royalroad.py b/sites/royalroad.py index 5cd3d99..d133262 100644 --- a/sites/royalroad.py +++ b/sites/royalroad.py @@ -39,11 +39,9 @@ class RoyalRoad(Site): # Have to get exact publishing time from the chapter page chapter_soup = self._soup(chapter_url) - updated = datetime.datetime.fromtimestamp( - int(chapter_soup.find(class_="profile-info").find('time').get('unixtime')), - ) + contents, updated = self._chapter(chapter_url) - story.add(Chapter(title=chapter.find('a', href=True).string.strip(), contents=self._chapter(chapter_url), date=updated)) + story.add(Chapter(title=chapter.find('a', href=True).string.strip(), contents=contents, date=updated)) http.client._MAXHEADERS = original_maxheaders @@ -56,5 +54,7 @@ class RoyalRoad(Site): # TODO: this could be more robust, and I don't know if there's post-chapter notes anywhere as well. author_note = soup.find('div', class_='author-note-portlet') + + updated = int(soup.find(class_="profile-info").find('time').get('unixtime')) - return (author_note and (author_note.prettify() + '
') or '') + content.prettify() + return (author_note and (author_note.prettify() + '
') or '') + content.prettify(), updated