def test_temp_folder_storage(self): tmp_storage = TempFolderStorage() tmp_storage.save(self.test_string) name = tmp_storage.name tmp_storage = TempFolderStorage(name=name) self.assertEqual(self.test_string.decode('utf-8'), tmp_storage.read()) self.assertTrue(os.path.isfile(tmp_storage.get_full_path())) tmp_storage.remove() self.assertFalse(os.path.isfile(tmp_storage.get_full_path()))
def test_temp_folder_storage(self): tmp_storage = TempFolderStorage() tmp_storage.save(self.test_string) name = tmp_storage.name tmp_storage = TempFolderStorage(name=name) self.assertEqual(self.test_string.decode(), tmp_storage.read()) self.assertTrue(os.path.isfile(tmp_storage.get_full_path())) tmp_storage.remove() self.assertFalse(os.path.isfile(tmp_storage.get_full_path()))
def process_import(self, request): confirm_form = ConfirmImportForm(request.POST) if confirm_form.is_valid(): import_formats = self.formats input_format = import_formats[int( confirm_form.cleaned_data['input_format'])]() tmp_storage = TempFolderStorage( name=confirm_form.cleaned_data['import_file_name']) dataset = self.make_dataset(tmp_storage, input_format) self.process_dataset( dataset, confirm_form.cleaned_data['original_file_name'], request) tmp_storage.remove() return redirect(self.success_url) else: pass # TODO: handle errors
def historian_processor(request, resource, redirect_url): confirm_form = ConfirmImportForm(request.POST) if confirm_form.is_valid(): input_format = JSON tmp_storage = TempFolderStorage( name=confirm_form.cleaned_data['import_file_name']) data = tmp_storage.read(input_format.get_read_mode()) dataset = input_format.create_dataset(data) resource.import_data( dataset, dry_run=False, raise_errors=True, file_name=confirm_form.cleaned_data['original_file_name'], user=request.user) tmp_storage.remove() return HttpResponseRedirect(reverse_lazy(redirect_url))
def processor(request, resource, template, redirect_url_name): from_encoding = "utf-8" confirm_form = ConfirmImportForm(request.POST) if confirm_form.is_valid(): import_formats = [f for f in DEFAULT_FORMATS if f().can_import()] input_format = import_formats[int( confirm_form.cleaned_data['input_format'])]() tmp_storage = TempFolderStorage( name=confirm_form.cleaned_data['import_file_name']) data = tmp_storage.read(input_format.get_read_mode()) if not input_format.is_binary() and from_encoding: data = force_text(data, from_encoding) dataset = input_format.create_dataset(data) resource.import_data( dataset, dry_run=False, raise_errors=True, file_name=confirm_form.cleaned_data['original_file_name'], user=request.user) tmp_storage.remove() return HttpResponseRedirect(reverse_lazy(redirect_url_name))