示例#1
0
def clean_up_files(snap_id, group_id):
    group_document = get_group_document(group_id)
    if 'image_sources_to_delete' in group_document:
        image_sources_to_delete = group_document['image_sources_to_delete'].split(',')
    pictures = find_pictures({'snap_id': str(snap_id)})
    for pic_id in pictures.keys():
        if pictures[pic_id]['source'] in image_sources_to_delete:
            os.remove(pictures[pic_id]['uri'])
            pictures[pic_id]['uri'] = ''
            pictures[pic_id]['deleted'] = True
        else:
            shutil.move(pictures[pic_id]['uri'], current_app.config['PICTURE_SAVE_DIRECTORY'])
            pictures[pic_id]['uri'] = os.path.join(current_app.config['PICTURE_SAVE_DIRECTORY'], pictures[pic_id]['filename'])
        update_picture_document(pictures[pic_id])
    os.rmdir(os.path.join(current_app.config['PICTURE_SAVE_DIRECTORY'], str(snap_id)))
示例#2
0
def upload_files_to_s3(snap_id, group_id):
    group_document = get_group_document(group_id)
    if group_document['use_gallery']:
        image_sources_for_gallery = group_document['image_sources_for_gallery'].split(',')
        pictures = find_pictures({'snap_id': str(snap_id)})
        #TODO the following assumes s3 and internet are working fine, make it more robust, with py.test tests too
        conn = boto.connect_s3(current_app.config['S3_ACCESS_KEY_ID'], current_app.config['S3_SECRET_ACCESS_KEY'])
        bucket = conn.get_bucket(current_app.config['S3_BUCKET_NAME'])
        for pic_id in pictures.keys():
            if pictures[pic_id]['source'] in image_sources_for_gallery:
                destination = boto.s3.key.Key(bucket)
                destination.key = pictures[pic_id]['filename']
                destination.set_contents_from_filename(pictures[pic_id]['uri'])
                destination.make_public()
                pic_gallery_url = destination.generate_url(expires_in=0, query_auth=False)
                pictures[pic_id]['gallery_url'] = pic_gallery_url
                update_picture_document(pictures[pic_id])
示例#3
0
def upload_files_to_s3(snap_id, group_id):
    group_document = get_group_document(group_id)
    if group_document['use_gallery']:
        image_sources_for_gallery = group_document[
            'image_sources_for_gallery'].split(',')
        pictures = find_pictures({'snap_id': str(snap_id)})
        #TODO the following assumes s3 and internet are working fine, make it more robust, with py.test tests too
        conn = boto.connect_s3(current_app.config['S3_ACCESS_KEY_ID'],
                               current_app.config['S3_SECRET_ACCESS_KEY'])
        bucket = conn.get_bucket(current_app.config['S3_BUCKET_NAME'])
        for pic_id in pictures.keys():
            if pictures[pic_id]['source'] in image_sources_for_gallery:
                destination = boto.s3.key.Key(bucket)
                destination.key = pictures[pic_id]['filename']
                destination.set_contents_from_filename(pictures[pic_id]['uri'])
                destination.make_public()
                pic_gallery_url = destination.generate_url(expires_in=0,
                                                           query_auth=False)
                pictures[pic_id]['gallery_url'] = pic_gallery_url
                update_picture_document(pictures[pic_id])
示例#4
0
def clean_up_files(snap_id, group_id):
    group_document = get_group_document(group_id)
    if 'image_sources_to_delete' in group_document:
        image_sources_to_delete = group_document[
            'image_sources_to_delete'].split(',')
    pictures = find_pictures({'snap_id': str(snap_id)})
    for pic_id in pictures.keys():
        if pictures[pic_id]['source'] in image_sources_to_delete:
            os.remove(pictures[pic_id]['uri'])
            pictures[pic_id]['uri'] = ''
            pictures[pic_id]['deleted'] = True
        else:
            shutil.move(pictures[pic_id]['uri'],
                        current_app.config['PICTURE_SAVE_DIRECTORY'])
            pictures[pic_id]['uri'] = os.path.join(
                current_app.config['PICTURE_SAVE_DIRECTORY'],
                pictures[pic_id]['filename'])
        update_picture_document(pictures[pic_id])
    os.rmdir(
        os.path.join(current_app.config['PICTURE_SAVE_DIRECTORY'],
                     str(snap_id)))