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)