Ejemplo n.º 1
0
def timeline_update_handler():
    raw_json_data = request.form.get('entry')
    if raw_json_data:
        json_data = json.loads(raw_json_data)
        dateTime = json_data['dateTime']
        name = json_data['name']
        description = json_data['description']
        media = json_data['media']

        filetypes = []
        asset_url = []
        for item in media:
            temp = item['filename']
            if temp.endswith('.jpg') or temp.endswith(
                    '.jpeg') or temp.endswith('.png'):
                idx = temp.rfind('.')
                filetypes.append(temp[idx:])
                asset_url.append(s3_timeline_url + temp)
            else:
                return "400 client error" \
                        "\nfilename " + item + " not a jpeg, jpg, or png"
        asset = timeline_asset.TimelineAsset(dateTime, name, description,
                                             filetypes, asset_url)

        for item in media:
            temp = item['filename']
            image_data = request.files.get(temp, '')
            if image_data:
                s3 = boto3.resource('s3')
                print("uploading to: " + timeline_upload_folder + temp)
                object = s3.Bucket('psyche-andromeda').put_object(
                    Key=timeline_upload_folder + temp, Body=image_data)
                objecacl = object.Acl()
                objecacl.put(ACL='public-read')
                timeline_sql_handler.TimelineSQLHandler(
                ).insert_from_timeline_obj(asset)

                return "200 success" \
                       "\ndateTime: " + dateTime + \
                       "\nname: " + temp + \
                       "\ndescription: " + description + \
                       "\nmedia_urls: " + ''.join(asset_url)
            else:
                "400, image not available"

    return "400 client error, no form-data key called entry"
Ejemplo n.º 2
0
def timeline_handler():
    output = timeline_sql_handler.TimelineSQLHandler().retrieve_timeline()
    return jsonify(output)
Ejemplo n.º 3
0
def setup():
    test_asset = timeline_asset.TimelineAsset("datetime", "name", "desc",
                                              [".png", ".jpeg"],
                                              ["link1", "link2"])
    timeline_sql_handler.TimelineSQLHandler().insert_from_timeline_obj(
        test_asset)
Ejemplo n.º 4
0
def setup():
    timeline_sql_handler.TimelineSQLHandler().insert_from_file(
        'initial_timeline_input.json')
    s3_sql_handler.SlideshowSqlHandler().insert_assets_from_file(
        'initial_slideshow_input.json')