def get_temporary_report_name(name): if settings.DEBUG: name, ext = os.path.splitext(name) name = '%s-%s%s' % (slugify(name), datetime.datetime.now().strftime("%Y%m%d%H%M%S"), ext) path_receiver = ['receiver', 'reports', str(uuid.uuid4())] _file_path = os.path.join(settings.MEDIA_ROOT, *path_receiver) if not os.path.exists(_file_path): os.mkdir(_file_path) _file_path = os.path.join(_file_path, name) url = settings.MEDIA_URL + '/'.join(path_receiver) + '/' + name return _file_path, url else: name, ext = os.path.splitext(name) name = '%s-%s%s' % (slugify(name), datetime.datetime.now().strftime("%Y%m%d%H%M%S"), ext) path_receiver = ['receiver', 'reports', str(uuid.uuid4())] _file_path = os.path.join(*path_receiver) if not default_storage.exists(_file_path): default_storage.mkdir(_file_path) _file_path = os.path.join(_file_path, name) url = settings.MEDIA_URL + '/'.join(path_receiver) + '/' + name return _file_path, url
def form_valid(self, form): new_dir = form.cleaned_data["name"] try: default_storage.mkdir(os.path.join(self.get_path(), new_dir)) except (SuspiciousOperation, OSError) as e: messages.error(self.request, _('Error in "%(newdir)s": %(error)s') % {"newdir": new_dir, "error": e}) return super(CreateSubdirectoryView, self).form_valid(form)
def test_extra_methodes(self): default_storage.mkdir('test_directory') self.assertTrue(default_storage.exists('test_directory')) default_storage.mv('test_directory', 'moved_directory') self.assertTrue(default_storage.exists('moved_directory')) default_storage.delete('moved_directory') self.assertFalse(default_storage.exists('moved_directory'))
def test_not_empty_directory(self): default_storage.mkdir('not_empty_dir') default_storage.save('not_empty_dir/test_file2', 'content\n') response = self.c.post('/edit/', {'form-TOTAL_FORMS': 1, 'form-INITIAL_FORMS': 1, 'form-0-old_name': 'not_empty_dir', 'form-0-new_name': 'not_empty_dir', 'form-0-DELETE': True}) self.assertEqual(response.status_code, 302) self.assertFalse(default_storage.exists('not_empty_dir'))
def form_valid(self, form): new_dir = form.cleaned_data['name'] try: default_storage.mkdir(os.path.join(self.get_path(), new_dir)) except (SuspiciousOperation, OSError) as e: messages.error( self.request, _('Error in "%(newdir)s": %(error)s') % { 'newdir': new_dir, 'error': e }) return super(CreateSubdirectoryView, self).form_valid(form)
def test_update_directory(self): default_storage.save('test_file2', 'content\n') default_storage.mkdir('test_dir') response = self.c.post('/edit/', {'form-TOTAL_FORMS': 3, 'form-INITIAL_FORMS': 3, 'form-0-old_name': 'test_file1.txt', 'form-0-new_name': 'test_file1.renamed', 'form-1-old_name': 'test_file2', 'form-1-new_name': 'test_file2', 'form-1-DELETE': True, 'form-2-old_name': 'test_dir', 'form-2-new_name': 'test_dir', 'form-2-DELETE': True}) self.assertEqual(response.status_code, 302) self.assertFalse(default_storage.exists('test_file2')) self.assertFalse(default_storage.exists('test_file1.txt')) self.assertFalse(default_storage.exists('test_dir')) self.assertTrue(default_storage.exists('test_file1.renamed')) default_storage.mv('test_file1.renamed', 'test_file1.txt')
def save(self, *args, **kwargs): return default_storage.mkdir(name=self.cleaned_data["name"], path=self.path)