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()))
예제 #2
0
    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()))
예제 #3
0
 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
예제 #4
0
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))
예제 #5
0
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))