def all_queries(self): min_date = self.date max_date = next_day_of(min_date) return Query.objects.all_without_options().filter( api_data__name=self.api_name, start_time__gte=min_date, start_time__lt=max_date)
def generate_analytics_by(self, a_date): from_time = datetime.datetime.strptime(a_date, "%Y-%m-%d") from_time.replace(hour=0, minute=0) to_time = from_time.replace(hour=23, minute=59) query = Query.objects.filter(start_time__gte=from_time, start_time__lte=to_time).first() if query is not None: self.generate_all_analytics(query.start_time, next_day_of(query.start_time)) else: self.stdout.write("No hay queries para ese día.")
def first_query_time(self): query_time = Query.objects.filter(api_data__name=self.api_name) \ .order_by('start_time').first().start_time.date() last_row = IndicatorMetricsRow.objects.filter( api_name=self.api_name).last() if last_row is not None: query_time = next_day_of(last_row.date) return query_time
def delete_zipped_files(self, days): from_time = self.time_from_first_csv_file() to_time = date_at_midnight(last_n_days(days)) if from_time >= to_time: return while from_time < to_time: str_date = from_time.strftime('%Y-%m-%d') file_to_delete = self.csv_file_repository.get_by_file_name( str_date) if file_to_delete is not None: self.csv_file_repository.delete(file_to_delete) from_time = next_day_of(from_time)
def total_queries_by_date(self, row_date): return Query.objects \ .all_without_options() \ .filter(api_data__name=self.api_name, start_time__lt=next_day_of(row_date)) \ .count()
def all_queries(self, query_time): return Query.objects.all_without_options().filter( api_data__name=self.api_name, start_time__gte=query_time, start_time__lt=next_day_of(query_time))
def perform_calculate(self, query_time): while query_time < date.today(): self.calculate_indicators(query_time) query_time = next_day_of(query_time)