Exemplo n.º 1
0
def _new_img_obj(filename, height, storage, width):
    img_obj = Media()
    img_obj.file_name = filename
    img_obj.storage = storage
    img_obj.width = width
    img_obj.height = height
    img_obj.file_type = MediaType.IMAGE
    img_obj._id = save(img_obj)
    return img_obj
Exemplo n.º 2
0
def save_media(media_stream, storage=None):
    if storage is None:
        storage = MediaStorage.LOCAL

    #store locally first
    filename = _gen_uuid()
    file_path = _store_locally(filename, media_stream)

    #save document record (as local first)
    media_obj = Media()
    media_obj.file_name = filename
    media_obj.storage = MediaStorage.LOCAL
    media_obj.file_type = MediaType.OTHERS
    media_obj._id = save(media_obj)

    #upload to s3, deferred/threaded
    if storage == MediaStorage.S3:
        t = multiprocessing.Process(target=_defer_store_s3, args=(file_path, filename, media_obj))
        t.daemon = False
        t.start()

    return media_obj