示例#1
0
def add_directory():
    """
    End point to create a new directory.
    Name of the new directory and the directory under which it should be created
    must be sent via POST.
    Required arguments: parent, name
    """
    if request.method != 'POST':
        return helpers.generate_error('2')
    name = request.form.get('name')
    parent = request.form.get('parent')

    if name is None:
        return helpers.generate_error('4', 'Name of directory missing')
    if parent is None:
        return helpers.generate_error('4', 'Name of parent missing')

    # Clean the names received from client
    name = secure_filename(name)
    parent = secure_filename(parent)
    parent = helpers.convert_to_os_slashes(parent)
    parent = os.path.join(CONTENT_FOLDER, parent)

    # Do not overwrite if directory exists
    if name in next(os.walk(parent))[1]:
        return helpers.generate_error(
            '3', 'Directory of that name already exists.')
    name = os.path.join(parent, name)
    os.makedirs(name)
    return helpers.generate_error('0', 'Directory created.')
示例#2
0
def add_directory():
    """
    End point to create a new directory.
    Name of the new directory and the directory under which it should be created
    must be sent via POST.
    Required arguments: parent, name
    """
    if request.method != 'POST':
        return helpers.generate_error('2')
    name = request.form.get('name')
    parent = request.form.get('parent')

    if name is None:
        return helpers.generate_error('4', 'Name of directory missing')
    if parent is None:
        return helpers.generate_error('4', 'Name of parent missing')

    # Clean the names received from client
    name = secure_filename(name)
    parent = secure_filename(parent)
    parent = helpers.convert_to_os_slashes(parent)
    parent = os.path.join(CONTENT_FOLDER, parent)

    # Do not overwrite if directory exists
    if name in next(os.walk(parent))[1]:
        return helpers.generate_error('3', 'Directory of that name already exists.')
    name = os.path.join(parent, name)
    os.makedirs(name)
    return helpers.generate_error('0', 'Directory created.')
示例#3
0
文件: app.py 项目: bertez/Watermarkr
    def upload(self, theFile = None):
        if not theFile:
            return helpers.generate_error('Error processing request','Try changing the filename')

        size = 0
        allData = ''
        while True and size < settings.MAX_FILE_SIZE:
            data = theFile.file.read(8192)
            if not data:
                break
            size += len(data)
            allData += data
        else:
            return helpers.generate_error('File too big','The max file size is 2mb')

        finalName = helpers.getmd5(allData) + os.path.splitext(theFile.filename)[1]

        storageFile = absDir + settings.UPLOADS_DIR + finalName

        tmpl = lookup.get_template('uploaded.html')

        if not os.path.exists(storageFile):
            output = open(storageFile, 'w')
            output.write(allData)
            output.close()

            import Image

            try:
                im=Image.open(storageFile)
                mark = Image.open(settings.WATERMARK_IMG)

                position = (im.size[0]-mark.size[0] - 30, im.size[1]-mark.size[1] - 30)

                helpers.watermark(im, mark, position, 0.9).save(absDir + settings.UPLOADS_DIR + settings.PROCESSED_PREFIX + finalName)

                return tmpl.render(title='Uploaded', filename=finalName)
            except IOError:
                os.remove(storageFile)
                return helpers.generate_error('Invalid format', 'You can only upload image files');
        else:
            return tmpl.render(title='Uploaded', filename=finalName)
示例#4
0
def upload_handler():
    """
    End point to upload files. Upload files asynchronously.
    """
    path = request.form.get('path') or ''
    if request.method == 'POST':
        files = request.files.getlist('files')
        filenames = [_ for _ in os.listdir(os.path.join(CONTENT_FOLDER, path ))]
        for file in files:
            if file and helpers.is_allowed_file(file.filename):
                filename = helpers.get_name(file.filename, filenames)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], path, filename))
    return helpers.generate_error('0', 'Upload successful.')
示例#5
0
def upload_handler():
    """
    End point to upload files. Upload files asynchronously.
    """
    path = request.form.get('path') or ''
    if request.method == 'POST':
        files = request.files.getlist('files')
        filenames = [_ for _ in os.listdir(os.path.join(CONTENT_FOLDER, path))]
        for file in files:
            if file and helpers.is_allowed_file(file.filename):
                filename = helpers.get_name(file.filename, filenames)
                file.save(
                    os.path.join(app.config['UPLOAD_FOLDER'], path, filename))
    return helpers.generate_error('0', 'Upload successful.')
示例#6
0
MODEL = "friend"

METHOD = "GET"
USER = "******"

RDB_CONN = rethink.connect(host="localhost",
                           db="cactus")

DATA = list(rethink.table(MODEL + "s").run(RDB_CONN))

if DATA == []:
    print("ERRORS AND DOOM!")
    error_packet, errors = generate_error(
        uid=uuid4(),
        status="404",
        code="405",
        title="Table does not have any entries",
        detail="Friends table does not have any entries",
        source={"pointer": PATH})

    if errors is not None:
        print("Errors happened when making the error packet!")
        print(errors)
    else:
        print({"errors": [error_packet]})

POST_IGNORE = []

# Remove the ignored keys
for name, obj in inspect.getmembers(models):
    if name.lower() == MODEL: