def _process(self): data = _export_cache.get(request.args['token']) file_format = request.view_args['format'] if file_format == 'csv': return send_csv('bookings.csv', **data) elif file_format == 'xlsx': return send_xlsx('bookings.xlsx', **data)
def process(self, start_month, end_month): start_dt, end_dt = get_month_dates(start_month, end_month) result, months = calculate_monthly_stats(start_dt, end_dt) # number of days within the boundary dates (inclusive) num_days = ((end_dt - start_dt).days + 1) headers = ['Building', 'Experiment', 'Number of desks'] for m in months: headers += [m.strftime('%b %Y'), m.strftime('%b %Y (%%)')] headers.append('Total') headers.append('Total (%)') rows = [] for building, experiments in result: for experiment, row_data in experiments: row = { 'Building': building, 'Experiment': experiment, 'Number of desks': row_data['desk_count'] } for i, m in enumerate(row_data['months']): month_dt = months[i] month_duration = ((months[i] + relativedelta(months=1, days=-1)) - months[i]).days + 1 percent = float(m) / (row_data['desk_count'] * month_duration) * 100 row[month_dt.strftime('%b %Y')] = m row[month_dt.strftime('%b %Y (%%)')] = f'{percent:.2f}%' row['Total'] = row_data['bookings'] percent = float(row_data['bookings']) / (row_data['desk_count'] * num_days) * 100 row['Total (%)'] = f'{percent:.2f}%' rows.append(row) return send_csv('burotel_stats.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_sessions(self.sessions) return send_csv('sessions.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_registrations( self.registrations, self.export_config['regform_items'], self.export_config['static_item_ids']) return send_csv('registrations.csv', headers, rows)
def _process(self): return send_csv('abstracts.csv', *self._generate_spreadsheet())
def _process(self): headers, rows = self._generate_spreadsheet() return send_csv('CERN_Access.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_contributions(self.contribs) return send_csv('contributions.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_registrations( self.registrations, self.regform_items, self.special_item_ids) return send_csv('registrations.csv', headers, rows)
def _export(self, filename, headers, rows): return send_csv(filename + '.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_registrations(self.registrations, self.export_config['regform_items'], self.export_config['static_item_ids']) return send_csv('registrations.csv', headers, rows)
def _process(self): headers, rows = generate_spreadsheet_from_registrations(self.registrations, self.regform_items, self.special_item_ids) return send_csv('registrations.csv', headers, rows)
def _process(self): emails = [{'Email': user.email} for user in self.role.members] return send_csv('role-members.csv', ['Email'], emails, include_header=False)