def download_import_template(request, instance, import_type): if import_type == SpeciesImportEvent.import_type: filename = 'OpenTreeMap_Species_Import_Template.csv' field_names = fields.title_case(fields.species.ALL) else: filename = 'OpenTreeMap_Tree_Import_Template.csv' ie = TreeImportEvent(instance=instance) field_names = ie.ordered_legal_fields_title_case() response = HttpResponse(content_type="text/csv") response["Content-Disposition"] = "attachment; filename=%s" % filename writer = csv.DictWriter(response, field_names) writer.writeheader() return response
def download_import_template(request, instance, import_type): if import_type == SpeciesImportEvent.import_type: filename = 'OpenTreeMap_Species_Import_Template.csv' field_names = fields.title_case(fields.species.ALL) else: filename = 'OpenTreeMap_Tree_Import_Template.csv' ie = TreeImportEvent(instance=instance) field_names = ie.ordered_legal_fields_title_case() # Encoding the field names prevents an error when the field names have # non-ASCII characters. field_names = [field_name.encode('utf-8') for field_name in field_names] response = HttpResponse(content_type="text/csv") response["Content-Disposition"] = "attachment; filename=%s" % filename writer = csv.DictWriter(response, field_names) writer.writeheader() return response
def legal_and_required_fields_title_case(self): legal_fields = set(self.ordered_legal_fields_title_case()) return legal_fields, fields.title_case(self._required_fields())
def ordered_legal_fields_title_case(self): udf_names = self._get_udf_names() return fields.title_case(fields.trees.ALL) + udf_names
def legal_and_required_fields_title_case(self): legal, required = self.legal_and_required_fields() return fields.title_case(legal), fields.title_case(required)