def test_secured_filename(self): uset = UploadSet('files', ALL) uset._config = Config('/uploads') tfs1 = TestingFileStorage(filename='/etc/passwd') tfs2 = TestingFileStorage(filename='../../myapp.wsgi') res1 = uset.save(tfs1) assert res1 == 'etc_passwd' assert tfs1.saved == '/uploads/etc_passwd' res2 = uset.save(tfs2) assert res2 == 'myapp.wsgi' assert tfs2.saved == '/uploads/myapp.wsgi'
def upload_photo(file_data, path, filename): """Uploads a photo to storage.""" photo_set = UploadSet('photos', IMAGES) if photo_set: # Create the thumbnail and preview thumb = create_thumbnail(file_data.stream, THUMB_SIZE) preview = create_thumbnail(file_data.stream, PREVIEW_SIZE) # Save the full size picture and the thumbnail and preview try: photo_set.save(file_data, path, filename) save_image(thumb, path, 'thumb_' + filename) save_image(preview, path, 'preview_' + filename) except Exception, ex: raise ex
def test_conflict(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='foo.txt') self.extant('/uploads/foo.txt') res = uset.save(tfs) assert res == 'foo_1.txt'
def test_implicit_folder(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='boat.jpg') res = uset.save(tfs, name='someguy/photo_123.') assert res == 'someguy/photo_123.jpg' assert tfs.saved == '/uploads/someguy/photo_123.jpg'
def test_save_namedext(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='boat.jpg') res = uset.save(tfs, name='photo_123.') assert res == 'photo_123.jpg' assert tfs.saved == '/uploads/photo_123.jpg'
def test_save_named(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='foo.txt') res = uset.save(tfs, name='file_123.txt') assert res == 'file_123.txt' assert tfs.saved == '/uploads/file_123.txt'
def test_save_folders(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='foo.txt') res = uset.save(tfs, folder='someguy') assert res == 'someguy/foo.txt' assert tfs.saved == '/uploads/someguy/foo.txt'
def test_conflict_without_extension(self): # Test case for issue #7. uset = UploadSet('files', extensions=('')) uset._config = Config('/uploads') tfs = TestingFileStorage(filename='foo') self.extant('/uploads/foo') res = uset.save(tfs) assert res == 'foo_1'
def test_multi_conflict(self): uset = UploadSet('files') uset._config = Config('/uploads') tfs = TestingFileStorage(filename='foo.txt') self.extant('/uploads/foo.txt', *('/uploads/foo_%d.txt' % n for n in range(1, 6))) res = uset.save(tfs) assert res == 'foo_6.txt'
def upload(): images = UploadSet('images', IMAGES) logging.info(request) if request.method == 'POST' and 'image_1' and 'image_2' in request.files: filename_1 = images.save(app.config['UPLOAD'], request.files['image_1']) filename_2 = images.save(app.config['UPLOAD'], request.files['image_2']) rec = Photo(filename=filename, user=g.user.id) rec.store() flash("Photo saved.") return "OK", 204 return "Failed", 404