def test_get_blackout(self, client, admin_session):
     """Admin user has access to blackout data."""
     blackout = next(
         (t for t in Blackout.all_blackouts() if 'exorcism' in t.name),
         None)
     assert blackout
     api_json = self._api_blackout(client, blackout.id)
     assert api_json['id'] == blackout.id
     assert 'exorcism' in api_json['name']
def _validate_date_range(start_date, end_date, blackout_id=None):
    if start_date > end_date:
        raise BadRequestError(
            'Start date must be less than or equal to end date.')

    for blackout in Blackout.all_blackouts():
        if blackout.id != blackout_id:
            latest_start = max(start_date, blackout.start_date)
            earliest_end = min(end_date, blackout.end_date)
            if max(0, (earliest_end - latest_start).days + 1) > 0:
                raise BadRequestError(
                    f'Date range overlaps with existing blackout {blackout.id}'
                )
Exemplo n.º 3
0
 def _run(self):
     kaltura = Kaltura()
     for blackout in Blackout.all_blackouts():
         if blackout.end_date < utc_now():
             app.logger.info(f'Removing past blackout: {blackout}')
             Blackout.delete_blackout(blackout.id)
         else:
             events = kaltura.get_events_in_date_range(end_date=blackout.end_date, start_date=blackout.start_date)
             for event in events:
                 created_by_diablo = CREATED_BY_DIABLO_TAG in event['tags']
                 if created_by_diablo and not represents_recording_series(event):
                     kaltura.delete(event['id'])
                     app.logger.info(f"'Event {event['summary']} deleted per {blackout}.")
def get_all_blackouts():
    return tolerant_jsonify(
        [blackout.to_api_json() for blackout in Blackout.all_blackouts()])