def download(self, REQUEST=None, RESPONSE=None): """returns all the subscriptions in a csv file""" header = ['User', 'Location', 'Notification type', 'Language'] rows = [] for s in self.admin_get_subscriptions(): row = [] row.append(s['user']) if (s['location']): row.append(s['location']) else: row.append('entire portal') row.append(s['notif_type']) row.append(s['lang']) rows.append(row) file_type = REQUEST.get('file_type', 'CSV') if file_type == 'CSV': RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=subscriptions.csv') return generate_csv(header, rows) if file_type == 'Excel' and self.rstk['we_provide']('Excel export'): RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=subscriptions.xls') return generate_excel(header, rows) else: raise ValueError('unknown file format %r' % file_type)
def download(self, RESPONSE, search_string=u'', sort_by='', reverse_sort='False', file_type='CSV'): """returns all the search results in a csv or excel file""" reverse_sort = reverse_sort != 'False' users = self._search_users(search_string, sort_by, reverse_sort) if self.is_member(): header = ['Name', 'Organisation', 'Postal address', 'Email', 'Access level', 'User ID'] rows = [[user['name'], user['organisation'], user['postal_address'], user['email'], user['access_level'], user['userid']] for user in users] else: header = ['Name', 'Organisation'] rows = [[user['name'], user['organisation']] for user in users] if file_type == 'CSV': RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.csv' % self.id) return generate_csv(header, rows) elif file_type == 'Excel' and self.rstk.we_provide('Excel export'): RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.xls' % self.id) return generate_excel(header, rows) else: raise ValueError('unknown file format %r' % file_type)
def download(self, REQUEST=None, RESPONSE=None): """returns all the answers in a csv file""" def stringify(value): if not isinstance(value, basestring): value = unicode(value) if isinstance(value, str): return unicode(value, 'utf-8') return value def all_stringify(row): return [stringify(value) for value in row] answers = self.getAnswers() widgets = self.getSortedWidgets() header = ['Respondent'] for widget in widgets: header += [widget.title_or_id()] if widget.meta_type == 'Naaya Radio Matrix Widget': header += widget.rows rows = [answer.answer_values() for answer in answers] rows = [all_stringify(item) for item in rows] file_type = REQUEST.get('file_type', 'CSV') if file_type == 'CSV': RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.csv' % self.id) return generate_csv(header, rows) if file_type == 'Excel' and self.rstk.we_provide('Excel export'): RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.xls' % self.id) return generate_excel(header, rows) else: raise ValueError('unknown file format %r' % file_type)
def download(self, RESPONSE, search_string=u'', sort_by='', reverse_sort='False', file_type='CSV'): """returns all the search results in a csv or excel file""" reverse_sort = reverse_sort != 'False' users = self._search_users(search_string, sort_by, reverse_sort) if self.is_member(): header = [ 'Name', 'Organisation', 'Postal address', 'Email', 'Access level', 'User ID' ] rows = [[ user['name'], user['organisation'], user['postal_address'], user['email'], user['access_level'], user['userid'] ] for user in users] else: header = ['Name', 'Organisation'] rows = [[user['name'], user['organisation']] for user in users] if file_type == 'CSV': RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.csv' % self.id) return generate_csv(header, rows) elif file_type == 'Excel' and self.rstk.we_provide('Excel export'): RESPONSE.setHeader('Content-Type', 'application/vnd.ms-excel') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s.xls' % self.id) return generate_excel(header, rows) else: raise ValueError('unknown file format %r' % file_type)
def download_webex(self, REQUEST=None, RESPONSE=None): """exports the participants listing in a Webex-compatible CSV file""" # This will be refactored to export to Skype, Webex will be shut # down. Right now this method is not used. header = [ 'UUID', 'Name', 'Email', 'Company', 'JobTitle', 'URL', 'OffCntry', 'OffLocal', 'CellCntry', 'CellLocal', 'FaxCntry', 'FaxLocal', 'Address1', 'Address2', 'City', 'State/Province', 'Zip/Postal', 'Country', 'Time Zone', 'Language', 'Locale', 'UserName', 'Notes' ] rows = [] participants = self.getAttendees() for participant in participants: part_info = self.getAttendeeInfo(participant) participant_info = [ part_info['uid'], part_info['name'], part_info['email'], part_info['organization'], part_info['role'], '', part_info['phone'], '', '', '', '', '', '', '', '', '', '', country_from_country_code.get(part_info['country'], ''), '', '', '', part_info['uid'], '' ] rows.append(participant_info) filename = '%s_%s_%s.csv' % (self.getMeeting().getId( ), self.id, datetime.now().strftime("%Y-%m-%d_%H-%M-%S")) RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s' % filename) return generate_csv(header, rows)
def download_webex(self, REQUEST=None, RESPONSE=None): """exports the participants listing in a Webex-compatible CSV file""" # This will be refactored to export to Skype, Webex will be shut # down. Right now this method is not used. header = ['UUID', 'Name', 'Email', 'Company', 'JobTitle', 'URL', 'OffCntry', 'OffLocal', 'CellCntry', 'CellLocal', 'FaxCntry', 'FaxLocal', 'Address1', 'Address2', 'City', 'State/Province', 'Zip/Postal', 'Country', 'Time Zone', 'Language', 'Locale', 'UserName', 'Notes'] rows = [] participants = self.getAttendees() for participant in participants: part_info = self.getAttendeeInfo(participant) participant_info = [ part_info['uid'], part_info['name'], part_info['email'], part_info['organization'], part_info['role'], '', part_info['phone'], '', '', '', '', '', '', '', '', '', '', country_from_country_code.get(part_info['country'], ''), '', '', '', part_info['uid'], ''] rows.append(participant_info) filename = '%s_%s_%s.csv' % (self.getMeeting().getId(), self.id, datetime.now().strftime( "%Y-%m-%d_%H-%M-%S")) RESPONSE.setHeader('Content-Type', 'text/csv') RESPONSE.setHeader('Content-Disposition', 'attachment; filename=%s' % filename) return generate_csv(header, rows)