示例#1
0
def _create_feed_update_helper(system_id, feed_id,
                               update_type) -> typing.Optional[int]:
    feed = feedqueries.get_in_system_by_id(system_id, feed_id)
    if feed is None:
        return None
    feed_update = models.FeedUpdate()
    feed_update.update_type = update_type
    feed_update.status = feed_update.Status.SCHEDULED
    feed_update.feed = feed
    dbconnection.get_session().add(feed_update)
    dbconnection.get_session().flush()
    return feed_update.pk
示例#2
0
def list_updates_in_feed(system_id, feed_id):
    """
    List all of the updates for a feed.
    """
    feed = feedqueries.get_in_system_by_id(system_id, feed_id)
    if feed is None:
        raise exceptions.IdNotFoundError(models.Feed,
                                         system_id=system_id,
                                         feed_id=feed_id)
    response = []
    for feed_update in feedqueries.list_updates_in_feed(feed.pk):
        response.append(views.FeedUpdate.from_model(feed_update))
    return response
示例#3
0
def get_in_system_by_id(system_id, feed_id) -> views.Feed:
    """
    Get data on a specific feed in a system.
    """
    feed = feedqueries.get_in_system_by_id(system_id, feed_id)
    if feed is None:
        raise exceptions.IdNotFoundError(models.Feed,
                                         system_id=system_id,
                                         feed_id=feed_id)
    response = views.FeedLarge.from_model(feed)
    response.updates = views.UpdatesInFeedLink.from_model(feed)
    end_time = datetime.datetime.utcnow()
    response.statistics = []
    for minutes in [15, 60, 60 * 24]:
        start_time = end_time - datetime.timedelta(minutes=minutes)
        response.statistics.append(
            build_feed_windows([feed.pk], start_time, end_time)[feed.pk])
    return response
示例#4
0
def test_get_in_system_by_id__no_system(system_1, feed_1_1):
    assert None is feedqueries.get_in_system_by_id("unknown_id", feed_1_1.id)
示例#5
0
def test_get_in_system_by_id(system_1, feed_1_1):
    assert feed_1_1 == feedqueries.get_in_system_by_id(system_1.id,
                                                       feed_1_1.id)