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'
예제 #3
0
 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_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'
예제 #5
0
 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_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'
예제 #7
0
 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'
예제 #8
0
def _configuploadset(name, constraint):
    uset = UploadSet(name, constraint)
    uset._config = UploadConfiguration(
        conf.UPLOADS_DEFAULT_DEST,
        conf.UPLOADED_FILES_URL,
    )
    return uset
예제 #9
0
 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'
예제 #10
0
 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'
예제 #12
0
 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'
예제 #13
0
 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'
예제 #14
0
 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 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'
예제 #16
0
 def test_filenames(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     namepairs = (('foo.txt', True), ('boat.jpg', True), ('warez.exe',
                                                          False))
     for name, result in namepairs:
         tfs = TestingFileStorage(filename=name)
         assert uset.file_allowed(tfs, name) is result
예제 #17
0
 def test_path(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     assert uset.path('foo.txt') == '/uploads/foo.txt'
     assert uset.path('someguy/foo.txt') == '/uploads/someguy/foo.txt'
     assert (uset.path('foo.txt', folder='someguy') ==
             '/uploads/someguy/foo.txt')
     assert (uset.path('foo/bar.txt', folder='someguy') ==
             '/uploads/someguy/foo/bar.txt')
예제 #18
0
 def test_path(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     assert uset.path('foo.txt') == '/uploads/foo.txt'
     assert uset.path('someguy/foo.txt') == '/uploads/someguy/foo.txt'
     assert (uset.path('foo.txt',
                       folder='someguy') == '/uploads/someguy/foo.txt')
     assert (uset.path('foo/bar.txt',
                       folder='someguy') == '/uploads/someguy/foo/bar.txt')
예제 #19
0
 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 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 test_filenames(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     namepairs = (
         ('foo.txt', True),
         ('boat.jpg', True),
         ('warez.exe', False)
     )
     for name, result in namepairs:
         tfs = TestingFileStorage(filename=name)
         assert uset.file_allowed(tfs, name) is result
예제 #22
0
from flask.ext.pymongo import PyMongo
import json
import os
import zipfile
import ogr2ogr

app = create_app()

UPLOAD_DEST = os.path.join(os.path.abspath(os.path.dirname(__file__)),
                           'static/data')

uploaded_files = UploadSet('tracks',
                           ARCHIVES,
                           default_dest=lambda app: app.instance_path)
configure_uploads(app, uploaded_files)
uploaded_files._config = UploadConfiguration(UPLOAD_DEST)

configure_uploads(app, uploaded_files)
mongo = PyMongo(app)


@app.route('/')
def index():
    return render_template('index.html', tracks=get_all_tracks())


@app.route('/upload', methods=['POST', 'GET'])
def upload():
    if request.method == "POST":
        filename = uploaded_files.save(request.files.get('track'))
        extract_file(filename)
예제 #23
0
import subprocess
import json
import os
import zipfile
from functools import wraps


app = create_app()

UPLOAD_DEST = os.path.join(os.path.abspath(os.path.dirname(__file__)),
                           'static/data')

uploaded_files = UploadSet('tracks', ARCHIVES,
                           default_dest=lambda app: app.instance_path)
configure_uploads(app, uploaded_files)
uploaded_files._config = UploadConfiguration(UPLOAD_DEST)

configure_uploads(app, uploaded_files)
mongo = PyMongo(app)


def check_auth(username, password):
    """This function is called to check if a username /
    password combination is valid.
    """
    users = app.config.get('USERS')
    passkey = app.config.get('SECRET')[0]
    if username in users and passkey == password:
        return username

예제 #24
0
 def test_default_extensions(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     extpairs = (('txt', True), ('jpg', True), ('exe', False))
     for ext, result in extpairs:
         assert uset.extension_allowed(ext) is result
예제 #25
0
                   render_template, redirect, url_for, send_from_directory,
                   flash, abort)
from flask.ext.pymongo import PyMongo
from flaskext.uploads import (UploadSet, configure_uploads, IMAGES,
                              DATA, DOCUMENTS, UploadConfiguration)
from logging import FileHandler
from werkzeug import secure_filename
from utilities import ObjectIdCleaner


app = Flask(__name__)
app.config.from_pyfile('conf.py')
mongo = PyMongo(app)
plugin_upload = UploadSet('plugins', ('js', 'css'),
                          default_dest=lambda app: app.instance_path)
plugin_upload._config = UploadConfiguration(app.config.get(
    'PLUGIN_UPLOAD_FOLDER'))


files_upload = UploadSet('files', IMAGES + DOCUMENTS + DATA + ('pdf',),
                         default_dest=lambda app: app.instance_path)
files_upload._config = UploadConfiguration(app.config.get(
    'FILE_UPLOAD_FOLDER'))

configure_uploads(app, plugin_upload)
configure_uploads(app, files_upload)
app.register_module(cache.cache, url_prefix='/cache')


bson.ObjId = bson.objectid.ObjectId  # handy reference to otherwise long name

 def test_default_extensions(self):
     uset = UploadSet('files')
     uset._config = Config('/uploads')
     extpairs = (('txt', True), ('jpg', True), ('exe', False))
     for ext, result in extpairs:
         assert uset.extension_allowed(ext) is result