def test_returns_last_summary(self):

        summary1 = DailySummary.create(date=datetime.datetime(2015, 9, 1))
        summary1.save()
        summary2 = DailySummary.create(date=datetime.datetime(2015, 9, 2))
        summary2.save()
        summary3 = DailySummary.create(date=datetime.datetime(2015, 8, 20))
        summary3.save()

        summary = DailySummary.get_last_summary()

        self.assertEqual(summary, summary2)
    def test_create_initialises_n_posts(self, mock_JobListing):

        mock_date = mock.Mock()
        mock_n_posts = mock.Mock()
        mock_get_n_posts = mock.Mock()
        mock_get_n_posts.return_value = mock_n_posts
        mock_JobListing.get_n_posts = mock_get_n_posts

        daily_summary = DailySummary.create(mock_date)

        mock_get_n_posts.assert_called_once_with(mock_date)
        self.assertEqual(daily_summary.n_posts, mock_n_posts)
Beispiel #3
0
def update_daily_summaries():
    logger.info('Update Daily Summaries')
    previous_session = ScrapingSession.get_previous_session()
    logger.info('Previous Scraping Session: {}'.format(previous_session.datetime if previous_session else None))
    if previous_session == None:
        return
    last_summary = DailySummary.get_last_summary()
    logger.info('Last Daily Summary: {}'.format(last_summary.date if last_summary else None))    
    if last_summary == None:
        start_date = JobListing.get_earliest_job_listing().added - datetime.timedelta(days=1)
    else:
        start_date = last_summary.date
    dates_between = data_science_jobs.get_days_between(
        start_date,
        previous_session.datetime.date())
    if len(dates_between):
        logger.info('Getting Daily Summaries Between: {} - {}'.format(dates_between[0], dates_between[-1]))
    else:
        logger.info('Daily Summaries Up-To-Date')
    for date in dates_between:
        daily_summary = DailySummary.create(date=date)
        logger.info('{}: n_posts: {}'.format(date, daily_summary.n_posts))
        daily_summary.save()
    def test_returns_none_if_no_summaries(self):

        summary = DailySummary.get_last_summary()

        self.assertIsNone(summary)