def get_dummy_file(filename=None, content=None): global files_count files_count += 1 if filename is None: filename = ''.join(six.unichr(x) for x in range(0x400, 0x40A)).join('-%d' % files_count) content_type = u'application/octet' if content is None: content = base64.b64decode(VALID_BASE64_IMG) temporary_file = SecureTemporaryFile(Settings.tmp_path) with temporary_file.open('w') as f: f.write(content) f.finalize_write() State.TempUploadFiles[os.path.basename(temporary_file.filepath)] = temporary_file return { 'date': datetime_now(), 'name': filename, 'description': 'description', 'body': temporary_file, 'size': len(content), 'filename': os.path.basename(temporary_file.filepath), 'type': content_type, 'submission': False }
def get_dummy_file(filename=None, content=None): global files_count files_count += 1 if filename is None: filename = ''.join(six.unichr(x) for x in range(0x400, 0x40A)).join('-%d' % files_count) content_type = u'application/octet' if content is None: content = base64.b64decode(VALID_BASE64_IMG) temporary_file = SecureTemporaryFile(Settings.tmp_path) with temporary_file.open('w') as f: f.write(content) f.finalize_write() State.TempUploadFiles[os.path.basename(temporary_file.filepath)] = temporary_file return { 'date': datetime_now(), 'name': filename, 'description': 'description', 'body': temporary_file, 'size': len(content), 'filename': os.path.basename(temporary_file.filepath), 'type': content_type, 'submission': False }
def get_dummy_file(content=None): filename = generateRandomKey() content_type = 'application/octet' if content is None: content = base64.b64decode(VALID_BASE64_IMG) temporary_file = SecureTemporaryFile(Settings.tmp_path) with temporary_file.open('w') as f: f.write(content) f.finalize_write() State.TempUploadFiles[os.path.basename( temporary_file.filepath)] = temporary_file return { 'id': filename, 'date': datetime_now(), 'name': filename, 'description': 'description', 'body': temporary_file, 'size': len(content), 'filename': os.path.basename(temporary_file.filepath), 'type': content_type, 'submission': False }
def test_temporary_file(self): a = SecureTemporaryFile(Settings.tmp_path) antani = "0123456789" with a.open('w') as f: for _ in range(1000): f.write(antani) f.finalize_write() with a.open('r') as f: for x in range(1000): self.assertTrue(antani == f.read(10))
def test_temporary_file(self): a = SecureTemporaryFile(Settings.tmp_path) antani = "0123456789" with a.open('w') as f: for _ in range(1000): f.write(antani) f.finalize_write() with a.open('r') as f: for x in range(1000): self.assertTrue(antani == text_type(f.read(10), 'utf-8'))
def process_file_upload(self): if b'flowFilename' not in self.request.args: return total_file_size = int(self.request.args[b'flowTotalSize'][0]) file_id = self.request.args[b'flowIdentifier'][0].decode() chunk_size = len(self.request.args[b'file'][0]) if ((chunk_size // (1024 * 1024)) > self.state.tenant_cache[self.request.tid].maximum_filesize or (total_file_size // (1024 * 1024)) > self.state.tenant_cache[self.request.tid].maximum_filesize): log.err("File upload request rejected: file too big", tid=self.request.tid) raise errors.FileTooBig( self.state.tenant_cache[self.request.tid].maximum_filesize) if file_id not in self.state.TempUploadFiles: self.state.TempUploadFiles[file_id] = SecureTemporaryFile( Settings.tmp_path) f = self.state.TempUploadFiles[file_id] with f.open('w') as f: f.write(self.request.args[b'file'][0]) if self.request.args[b'flowChunkNumber'][0] != self.request.args[ b'flowTotalChunks'][0]: return None f.finalize_write() mime_type, _ = mimetypes.guess_type( self.request.args[b'flowFilename'][0].decode()) if mime_type is None: mime_type = 'application/octet-stream' filename = self.request.args[b'flowFilename'][0].decode() self.uploaded_file = { 'id': file_id, 'date': datetime_now(), 'name': filename, 'type': mime_type, 'size': total_file_size, 'filename': os.path.basename(f.filepath), 'body': f, 'description': self.request.args.get(b'description', [''])[0] }