示例#1
0
def check_subreddits(last_scan):
    """
    reply to any valid posts in the monitored subreddits
    """
    global num_posts

    for subreddit in subreddits:

        if num_posts[str(subreddit)] >= post_limit[str(subreddit)]:
            continue

        for submission in subreddit.get_new():
            try:
                if submission.created_utc < last_scan:
                    logging.info("no new posts in " + str(submission.subreddit))
                    break
                if submission.author.name in ignoredUsers:
                    logging.info("ignored " + submission.author.name)
                    continue
                logging.info("analyzing " + submission.permalink)
                answer = comment_formatter.format_post_reply(submission.title, submission.subreddit)
                submission.add_comment(answer)
                logging.info("bot commented at " + submission.permalink)
                num_posts[str(subreddit)] += 1

            except (
                post_parser.ParseError,
                omdb_requester.OmdbError,
                comment_formatter.NotEnoughInfoError,
            ) as error_msg:

                logging.warning(str(error_msg))
示例#2
0
def check_subreddits(last_scan):
    """
    reply to any valid posts in the monitored subreddits
    """
    global num_posts

    for subreddit in subreddits:

        if num_posts[str(subreddit)] >= post_limit[str(subreddit)]: continue

        for submission in subreddit.get_new():
            try:
                if submission.created_utc < last_scan:
                    logging.info("no new posts in " + str(submission.subreddit))
                    break
                if submission.author.name in ignoredUsers:
                    logging.info('ignored ' + submission.author.name)
                    continue
                logging.info("analyzing " + submission.permalink)
                answer = comment_formatter.format_post_reply(submission.title, submission.subreddit)
                submission.add_comment(answer)
                logging.info("bot commented at " + submission.permalink)
                num_posts[str(subreddit)] += 1

            except (post_parser.ParseError,
                    omdb_requester.OmdbError,
                    comment_formatter.NotEnoughInfoError) as error_msg:

                logging.warning(str(error_msg))

            except omdb_requester.OmdbError as error_msg:
                logging.error(str(error_msg))
    def test_no_netflix(self):
        goodReply = "#####&#009;  \n######&#009;  \n####&#009;  \n" \
        "[**Tourist Trapped**](http://www.imdb.com/title/tt2152239) [8.5 ★] | [imdb](http://www.imdb.com/title/tt2152239)" \
        "\n\n> [After finding a strange book in the forest, Dipper begins to learn about the dark side of Gravity Falls," \
                    " and suspects that Mabel's new boyfriend is a zombie.](#spoiler)"

        reply = format_post_reply("s1e1", "gravityfalls")
        self.assertEqual(reply, goodReply)
    def test_good_reply(self):
        goodReply = "#####&#009;  \n######&#009;  \n####&#009;  \n" \
        "[**I Wasn't Ready**](http://www.imdb.com/title/tt2400770) [7.8 ★] | " \
        "[Watch on Netflix](http://www.netflix.com/title/70242311) | [imdb](http://www.imdb.com/title/tt2400770)" \
        "\n\n> [Piper Chapman is sent to jail as a result of her relationship with a drug smuggler.](/spoiler)"

        reply = format_post_reply("s1e1", "orangeisthenewblack")
        self.assertEqual(reply, goodReply)
示例#5
0
    def test_missing_plot(self):
        goodReply = (
            "#####&#009;  \n######&#009;  \n####&#009;  \n"
            "[**Episode #4.12**](http://www.imdb.com/title/tt5193130) | "
            "[Watch on Netflix](http://www.netflix.com/title/70242311) | [imdb](http://www.imdb.com/title/tt5193130)\n\n> "
        )

        reply = format_post_reply("s4e12", "orangeisthenewblack")
        self.assertEqual(reply, goodReply)
示例#6
0
    def test_no_netflix(self):
        goodReply = (
            "#####&#009;  \n######&#009;  \n####&#009;  \n"
            "[**Tourist Trapped**](http://www.imdb.com/title/tt2152239) [8.5] | [imdb](http://www.imdb.com/title/tt2152239)"
            "\n\n> [Dipper suspects that Mabel's new boyfriend is a zombie.](#spoiler)"
        )

        reply = format_post_reply("s1e1", "gravityfalls")
        self.assertEqual(reply, goodReply)
示例#7
0
    def test_missing_rating(self):
        goodReply = (
            "#####&#009;  \n######&#009;  \n####&#009;  \n"
            "[**A Hearth's Warming Tail**](http://www.imdb.com/title/tt5524262) | "
            "[imdb](http://www.imdb.com/title/tt5524262)\n\n"
            "> [Starlight Glimmer has a case of the holiday blues, so Twilight tries to help cure her by reading one of her favorite Hearth Warming's Eve stories, A Hearth's Warming Tale.](/spoiler)"
        )

        reply = format_post_reply("s6e8", "mylittlepony")
        self.assertEqual(reply, goodReply)
示例#8
0
    def test_good_reply(self):
        goodReply = (
            "#####&#009;  \n######&#009;  \n####&#009;  \n"
            "[**I Wasn't Ready**](http://www.imdb.com/title/tt2400770) [7.8] | "
            "[Watch on Netflix](http://www.netflix.com/title/70242311) | [imdb](http://www.imdb.com/title/tt2400770)"
            "\n\n> [Piper Chapman is sent to jail as a result of her relationship with a drug smuggler.](/spoiler)"
        )

        reply = format_post_reply("s1e1", "orangeisthenewblack")
        self.assertEqual(reply, goodReply)