Add TSDB.for_submission to remove some duplicate effort.
This commit is contained in:
parent
62bd899e93
commit
07ca340c80
3 changed files with 23 additions and 13 deletions
|
@ -21,18 +21,19 @@ def commentaugment(
|
||||||
|
|
||||||
common.login()
|
common.login()
|
||||||
|
|
||||||
if specific_submission is not None:
|
if specific_submission:
|
||||||
subreddit = common.subreddit_for_submission(specific_submission).display_name
|
(database, subreddit) = tsdb.TSDB.for_submission(specific_submission, do_create=True, fix_name=True)
|
||||||
|
specific_submission = common.t3_prefix(specific_submission)[3:]
|
||||||
|
specific_submission = common.r.submission(specific_submission)
|
||||||
|
database.insert(specific_submission)
|
||||||
|
|
||||||
|
elif subreddit:
|
||||||
|
(database, subreddit) = tsdb.TSDB.for_subreddit(subreddit, do_create=False, fix_name=True)
|
||||||
|
|
||||||
if subreddit:
|
|
||||||
do_create = specific_submission is not None
|
|
||||||
(database, subreddit) = tsdb.TSDB.for_subreddit(subreddit, do_create=do_create, fix_name=True)
|
|
||||||
else:
|
else:
|
||||||
(database, username) = tsdb.TSDB.for_user(username, do_create=False, fix_name=True)
|
(database, username) = tsdb.TSDB.for_user(username, do_create=False, fix_name=True)
|
||||||
cur = database.sql.cursor()
|
|
||||||
|
|
||||||
if specific_submission is not None:
|
cur = database.sql.cursor()
|
||||||
database.insert(specific_submission_obj)
|
|
||||||
|
|
||||||
if lower is None:
|
if lower is None:
|
||||||
lower = 0
|
lower = 0
|
||||||
|
@ -67,7 +68,7 @@ def commentaugment(
|
||||||
lower = 0
|
lower = 0
|
||||||
|
|
||||||
if specific_submission:
|
if specific_submission:
|
||||||
comments = pushshift.get_comments_from_submission(specific_submission_obj)
|
comments = pushshift.get_comments_from_submission(specific_submission)
|
||||||
elif subreddit:
|
elif subreddit:
|
||||||
comments = pushshift.get_comments_from_subreddit(subreddit, lower=lower, upper=upper)
|
comments = pushshift.get_comments_from_subreddit(subreddit, lower=lower, upper=upper)
|
||||||
elif username:
|
elif username:
|
||||||
|
@ -92,7 +93,7 @@ def commentaugment(
|
||||||
set augmented_at = ?
|
set augmented_at = ?
|
||||||
WHERE idstr == ?
|
WHERE idstr == ?
|
||||||
'''
|
'''
|
||||||
bindings = [common.get_now(), specific_submission_obj.fullname]
|
bindings = [common.get_now(), specific_submission.fullname]
|
||||||
cur.execute(query, bindings)
|
cur.execute(query, bindings)
|
||||||
database.sql.commit()
|
database.sql.commit()
|
||||||
|
|
||||||
|
|
|
@ -227,11 +227,12 @@ def html_from_database(subreddit=None, username=None, specific_submission=None):
|
||||||
if username and specific_submission:
|
if username and specific_submission:
|
||||||
raise exceptions.NotExclusive(['username', 'specific_submission'])
|
raise exceptions.NotExclusive(['username', 'specific_submission'])
|
||||||
|
|
||||||
if specific_submission is not None:
|
if specific_submission:
|
||||||
subreddit = common.subreddit_for_submission(specific_submission).display_name
|
database = tsdb.TSDB.for_submission(specific_submission, do_create=False)
|
||||||
|
|
||||||
if subreddit:
|
elif subreddit:
|
||||||
database = tsdb.TSDB.for_subreddit(subreddit, do_create=False)
|
database = tsdb.TSDB.for_subreddit(subreddit, do_create=False)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
database = tsdb.TSDB.for_user(username, do_create=False)
|
database = tsdb.TSDB.for_user(username, do_create=False)
|
||||||
|
|
||||||
|
|
|
@ -215,6 +215,14 @@ class TSDB:
|
||||||
return (database, name_from_path(name))
|
return (database, name_from_path(name))
|
||||||
return database
|
return database
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def for_submission(cls, submission_id, fix_name=False, *args, **kwargs):
|
||||||
|
subreddit = common.subreddit_for_submission(submission_id)
|
||||||
|
database = cls.for_subreddit(subreddit, *args, **kwargs)
|
||||||
|
if fix_name:
|
||||||
|
return (database, subreddit.display_name)
|
||||||
|
return database
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def for_subreddit(cls, name, do_create=True, fix_name=False):
|
def for_subreddit(cls, name, do_create=True, fix_name=False):
|
||||||
if isinstance(name, common.praw.models.Subreddit):
|
if isinstance(name, common.praw.models.Subreddit):
|
||||||
|
|
Loading…
Reference in a new issue