"""Source of Streams common tasks.""" from garcon import task from analytics_aggregation.util import common as common_utils @task.decorate(timeout=1200) def check_feed_ingested(activity, source_feed_name, date_range): """Check if feed report is already ingested. Args: activity (ActivityWorker): The activity worker. source_feed_name (str): Checked feed name. date_range (dict): Dict with 2 keys start_date and end_date. Returns: dict: If data is missing, return {'stop': True}. """ list_of_dates = common_utils.list_of_dates(**date_range) for day in list_of_dates: if not common_utils.is_feed_ingested(source_feed_name, day): return common_utils.exit_message( 'There is no {feed_name} raw data for {day}'.format( feed_name=source_feed_name, day=day)) return {}