Esempio n. 1
0
def upload_livery():

    user = validate_request(request.headers)
    if not user:
        abort(401)

    if not os.path.exists(download_dir):
        os.mkdir(download_dir)

    filename = str(uuid.uuid4()) + '.zip'

    if not 'file' in request.files\
        or not 'Name' in request.form\
        or not 'Checksum' in request.form:

        abort(400)

    liv = Livery()
    liv.name = request.form['Name'][:50]  # limited to 50 chars
    liv.checksum = request.form['Checksum'][:40]  # limited to 40
    liv.filename = filename
    liv.owner_id = user.id

    if Connector.get_livery_by_name(liv.name):
        abort(409)  # livery duplicate

    liv = Connector.add_livery(liv)

    data = request.files['file']
    data.save(download_dir + filename)

    return jsonify(liv.to_json())