def clean(self): cleaned_data = super(GenerateForm, self).clean() type = cleaned_data.get("type") file = cleaned_data.get("file") importer = get_element(IMPORTER_SETTINGS, type) error = importer.validate(file) if error is not None: raise forms.ValidationError(error)
def generate(request): if request.method != 'POST': raise Http404("use POST") form = GenerateForm(request.POST, request.FILES) if not form.is_valid(): return HttpResponseBadRequest(form.errors.as_json()) data = form.cleaned_data importer = get_element(IMPORTER_SETTINGS, data['type']) parsed_file = importer.parse(data['file']) parsed_file = remove_saved_lines(parsed_file) mapping_worbook = generate_mapping_file(parsed_file) today = datetime.datetime.today() filename = today.strftime("mapping-%m-%d_%H:%M:%S.xlsx") response = HttpResponse(mapping_worbook, content_type=XLSX_CONTENT_TYPE) cd = 'attachment; filename="{}"'.format(filename) response['Content-Disposition'] = cd return response
def generate(request): if request.method != 'POST': raise Http404("use POST") form = GenerateForm(request.POST, request.FILES) if not form.is_valid(): return HttpResponseBadRequest(form.errors.as_json()) data = form.cleaned_data importer = get_element(IMPORTER_SETTINGS, data['type']) parsed_file = importer.parse(data['file']) parsed_file = remove_saved_lines(parsed_file) mapping_worbook = generate_mapping_file(parsed_file) today = datetime.datetime.today() filename = today.strftime("mapping-%m-%d_%H:%M:%S.xlsx") response = HttpResponse( mapping_worbook, content_type=XLSX_CONTENT_TYPE) cd = 'attachment; filename="{}"'.format(filename) response['Content-Disposition'] = cd return response