Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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

        
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
    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