コード例 #1
0
ファイル: run.py プロジェクト: younggeeks/news-feed
def all_posts():
    for post in get_posts():
        print("{} {}".format(post["id"], post["title"]))

    choice = raw_input(" >>  ")
    show_menu(choice)
    return
コード例 #2
0
 def test_get_posts_fail_400(self):
     _calling_method()
     kwargs = {"page": 1,
               "per_page": 3}
     response = api.get_posts(**kwargs)
     self.assertEqual(400, response.status_code,
                      f"Incorrect Response Code return : {response.status_code} but expected 400")
コード例 #3
0
 def test_get_posts_success_200(self):
     _calling_method()
     kwargs = {"page": 1,
               "b": True,
               "per_page": 10}
     response = api.get_posts(**kwargs)
     self.assertEqual(200, response.status_code,
                      f"Incorrect Response Code return : {response.status_code} but expected 200")
コード例 #4
0
def get_formatted_posts(**kwargs):
    """
    Get posts from API, then format the summary, date and link
    """

    posts, total_posts, total_pages = api.get_posts(**kwargs)

    for post in posts:
        post = format_post(post)

    return posts, total_posts, total_pages
コード例 #5
0
    def test_get_posts_bool_arg_does_something(self):
        _calling_method()
        kwargs = {"page": 1,
                  "b": True,
                  "per_page": 10}
        response_true = api.get_posts(**kwargs)
        self.assertEqual(200, response_true.status_code,
                         f"Incorrect Response Code return : {response_true.status_code} but expected 200")

        kwargs = {"page": 1,
                  "b": False,
                  "per_page": 10}
        response_false = api.get_posts(**kwargs)
        self.assertEqual(200, response_false.status_code,
                         f"Incorrect Response Code return : {response_false.status_code} but expected 200")

        posts_true = response_true.json()
        posts_false = response_false.json()

        self.assertNotEqual(posts_true, posts_false, "Bool operator on Get /blog/posts/ does nothing")
コード例 #6
0
def moderate():
    days = 2
    since = timedelta(days=days)

    boards = get_boards()
    posts = get_posts(since=since)
    replies = get_replies(since=since)
    reports = get_reports(since=since)
    feedbacks = get_feedbacks(since=since)
    return render_template(
        'moderate.html',
        boards=boards,
        posts=posts,
        replies=replies,
        reports=reports,
        feedbacks=feedbacks,
    )
コード例 #7
0
def get_formatted_expanded_posts(**kwargs):
    """
    Get posts from API, then format them and add the data for the first group
    and category
    """

    posts, total_posts, total_pages = api.get_posts(**kwargs)

    force_group = None

    if kwargs.get('group_ids'):
        force_group = kwargs.get('group_ids')[0]

    for post in posts:
        post = format_post(post)
        post['group'] = get_first_group(post['group'], force_group=force_group)
        post['category'] = get_first_category(post['categories'])

    return posts, total_posts, total_pages
コード例 #8
0
from config import *
from datetime import datetime
import logging
from logs.config import logger
from plot import plot

logger.info('Setup logger')
logger = logging.getLogger('Rentiment.' + __name__)

logger.info('Get posts from reddit...')
posts_data = get_reddit_posts(REDDIT_CONFIG['test_subreddits'], 20)

logger.info('Insert posts into mongo...')
insert_posts(posts_data)

logger.info('Get posts from mongo...')
posts = get_posts()

logger.debug('Posts:')
for post in posts:
    logger.debug(post)

start = datetime(2019, 6, 2, 0, 0, 0)
end = datetime(2019, 6, 5, 0, 0, 0)

logger.info('Get posts from ' + str(start) + ' to ' + str(end))

posts = get_posts_by_date_range(start, end)

plot('Rentiment', 'publish_date', 'text_sentiment', posts)