From 62bd899e93d3e70b6e43736e5a00145173d63878 Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 28 Oct 2018 22:11:42 -0700 Subject: [PATCH] Fix bug when only -s is provided to offline_reading. --- timesearch/commentaugment.py | 5 ++--- timesearch/common.py | 5 +++++ timesearch/offline_reading.py | 7 ++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/timesearch/commentaugment.py b/timesearch/commentaugment.py index 26a33bf..9c9b09e 100644 --- a/timesearch/commentaugment.py +++ b/timesearch/commentaugment.py @@ -20,10 +20,9 @@ def commentaugment( raise exceptions.NotExclusive(['username', 'specific_submission']) common.login() + if specific_submission is not None: - specific_submission = common.t3_prefix(specific_submission)[3:] - specific_submission_obj = common.r.submission(specific_submission) - subreddit = specific_submission_obj.subreddit.display_name + subreddit = common.subreddit_for_submission(specific_submission).display_name if subreddit: do_create = specific_submission is not None diff --git a/timesearch/common.py b/timesearch/common.py index 81b1872..df5a458 100644 --- a/timesearch/common.py +++ b/timesearch/common.py @@ -127,6 +127,11 @@ def split_any(text, delimiters): text = text.replace(replacer, splitter) return text.split(splitter) +def subreddit_for_submission(submission_id): + submission_id = t3_prefix(submission_id)[3:] + submission = r.submission(submission_id) + return submission.subreddit + def t3_prefix(submission_id): if not submission_id.startswith('t3_'): submission_id = 't3_' + submission_id diff --git a/timesearch/offline_reading.py b/timesearch/offline_reading.py index d1d91a2..a794d78 100644 --- a/timesearch/offline_reading.py +++ b/timesearch/offline_reading.py @@ -222,8 +222,13 @@ def html_from_database(subreddit=None, username=None, specific_submission=None): if markdown is None: raise ImportError('Page cannot be rendered without the markdown module') - if not common.is_xor(subreddit, username): + if not specific_submission and not common.is_xor(subreddit, username): raise exceptions.NotExclusive(['subreddit', 'username']) + if username and specific_submission: + raise exceptions.NotExclusive(['username', 'specific_submission']) + + if specific_submission is not None: + subreddit = common.subreddit_for_submission(specific_submission).display_name if subreddit: database = tsdb.TSDB.for_subreddit(subreddit, do_create=False)