def generate(self): print('Running the "Daily" report...') trackings_names = self.trackings.get_all_exhibition_trackings() begin_date, end_date = get_date_range() months = get_months(begin_date.month, end_date.month) for month_name, month_number in months: self.rows.append([month_name] + [ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]) print(f'{month_name}') for tracking in trackings_names: print(f'\t{tracking}') tracking_totals = self.trackings.get_value( tracking, begin_date, end_date) grouped_by_days = self.group_by_days(tracking_totals) if not self.is_valid_tracking(tracking, grouped_by_days): continue daily_values = self.get_daily_count(grouped_by_days, month_number) self.rows.append([tracking] + daily_values) self.rows.append([]) self.rows = self.add_header(self.rows) self.print_bad_trackings() return self.rows
def generate(self): trackings_names = self.trackings.get_all_view_trackings() for tracking in trackings_names: #print(f'\n{tracking}') begin_date, end_date = get_date_range() monthly_values = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] tracking_totals = self.get_tracking_count(tracking, begin_date, end_date) grouped_by_months = self.group_by_month(tracking_totals) if type(grouped_by_months) is str and grouped_by_months.startswith( 'invalid'): self.bad_trackings.append( f'{tracking} -> action: {grouped_by_months.split(":")[1]}') continue for (year, month) in grouped_by_months: monthly_values[month - 1] = grouped_by_months[(year, month)] self.rows.append([tracking] + monthly_values) print('\n\nTrackings que não são de exibição:\n') print(self.bad_trackings) months = [''] + get_month_list() self.rows.insert(0, months) updated_at = f'Atualizado em: {datetime.now().strftime("%d/%m/%Y %H:%M:%S")}' self.rows.insert(0, [updated_at]) return self.rows
def main(locale, begin=None, end=None): date_begin, date_end = get_date_range(begin, end, locale) print('date_begin, date_end', date_begin, date_end) categories_csv, file_name = scrapper(parsers, locale, date_begin, date_end) persist_on_csv(categories_csv, file_name) _print_success(file_name, locale) if ".csv" not in file_name: file_name = "{}.csv".format(file_name) return file_name
def generate(self): print('Running the "NPS" report...') tracking = 'Nps pesquisa motivo' begin_date, end_date = get_date_range() nps_tracking = self.trackings.get_value(tracking, begin_date, end_date) ratings = self.group_by_rate_and_date(nps_tracking) feedback_messages = self.make_feedback_matrix(ratings) updated_at = f'Atualizado em: {datetime.now().strftime("%d/%m/%Y %H:%M:%S")}' ratings_headers = [updated_at, '', '', '', '', '', '', '', '', '', '', ''] self.rows.append(ratings_headers) self.rows.extend(feedback_messages) return self.rows
def generate(self): print('Running the "MAU" report from {begin_date} to {end_date}\n') begin_date, end_date = get_date_range() oneDay = relativedelta(days = +1) while begin_date <= end_date and begin_date <= datetime.now().date(): total_MAU = self.trackings.getMAU(begin_date, begin_date) self.rows.append([begin_date.strftime("%d/%m/%Y")] + [total_MAU]) print(f'{begin_date}: {total_MAU}') begin_date += oneDay self.rows = self.add_header(self.rows) return self.rows
def generate(self): print('Running the "MAU" report...') begin_date, end_date = get_date_range() months = get_months(begin_date.month, end_date.month) oneMonth = relativedelta(months=+1) oneDay = relativedelta(days=+1) for month_name, month_number in months: total_MAU = self.trackings.getMAU(begin_date, (begin_date + oneMonth) - oneDay) begin_date += oneMonth self.rows.append([month_name] + [total_MAU]) print(f'{month_name}: {total_MAU}') self.rows = self.add_header(self.rows) return self.rows
def generate(self): print('Running the "Monthy" report...') trackings_names = self.trackings.get_all_exhibition_trackings() start_date, final_date = get_date_range() for tracking in trackings_names: print(tracking) begin_date, end_date = start_date, final_date tracking_totals = self.trackings.get_value(tracking, begin_date, end_date) grouped_by_months = self.group_by_month(tracking_totals) if not self.is_valid_tracking(tracking, grouped_by_months): continue monthly_values = self.get_monthly_count(grouped_by_months) self.rows.append([tracking] + monthly_values) self.print_bad_trackings() self.rows = self.add_header(self.rows) return self.rows