コード例 #1
0
def post_comments(new_mentions_list, reddit, running_on_own = False):
    """Recursivley goes through the mentions found in the last run of mention_search_posts.py and
    posts a comment on each, if needed.

    :param running_on_own: whether file is being ran by itself or imported by reddit_bot.py
    :type running_on_own: bool
    :param reddit: authorized reddit praw object
    :type reddit: praw.Reddit
    :param new_mentions_list: list of mentions
    :type new_mentions_list: list
    """
    if new_mentions_list:
        new_mention = new_mentions_list.pop(0)
    else:
        print("No more mentions.")
        return
    _post_comment_helper(new_mention, reddit)
    if running_on_own:
        tools.save_found_mentions(new_mentions_list)
    post_comments(new_mentions_list, reddit, running_on_own)
コード例 #2
0
def find_mentions(reddit, num_posts_, running_on_own = False):
    """Finds and saves to disk course mentions in new posts on /r/UCSC.

    :param running_on_own: whether file is being ran by itself or imported by reddit_bot.py
    :type running_on_own: bool
    :param reddit: authorized reddit praw object
    :type reddit: praw.Reddit
    :param num_posts_:
    :type num_posts_: int
    :return: list of post with found mentions
    :rtype: list
    """

    # use this to find mentions in only one post
    # tools.save_found_mentions([_get_mentions_in_submission(0, reddit.get_submission(submission_id = "49h1o9"))])
    # return

    print('{num}{_}{id}{_}{author}{_}{title}{_}mentions'
          .format(num = trunc_pad("#", 'num'),
                  id = trunc_pad("id"),
                  author = trunc_pad("author"),
                  title = trunc_pad("title"),
                  _ = '  ').upper())

    subreddit = reddit.get_subreddit('ucsc')
    list_of_posts_with_mentions = []

    for counter, submission in enumerate(subreddit.get_new(limit = num_posts_), start = 1):
        found_mentions = _get_mentions_in_submission(counter, submission)
        if found_mentions is not None:
            list_of_posts_with_mentions.append(found_mentions)

    if running_on_own:
        tools.save_found_mentions(list_of_posts_with_mentions)

    print("------------------------------")
    for post_with_mention in list_of_posts_with_mentions:
        print(str(post_with_mention))

    return list_of_posts_with_mentions