Пример #1
0
def file_page(page, size=10, ftype='image', callback=None):
    db = get_context().get_asyncmongo()
    if ftype == 'image':
        fs = GridFS(db, THUMBNAIL_GFS)
    elif ftype == 'file':
        fs = GridFS(db, FILE_GFS)

    fs.find(skip=(page + 1) * size, limit=size, callback=None)
Пример #2
0
def del_image(fid):
    fid = ObjectId(fid)
    db = get_context().get_asyncmongo()
    tfs = GridFS(db, THUMBNAIL_GFS)
    yield gen.Task(tfs.delete, fid)

    fs = GridFS(db, IMG_GFS)
    yield gen.Task(fs.delete, fid)
Пример #3
0
def get_file(fid, ftype, callback=None):
    db = get_context().get_asyncmongo()

    if ftype == 'image':
        fs = GridFS(db, IMG_GFS)
    elif ftype == 'thumbnail':
        fs = GridFS(db, THUMBNAIL_GFS)
    elif ftype == 'file':
        fs = GridFS(db, FILE_GFS)

    fid = ObjectId(fid)
    fs.get(fid, callback=callback)
Пример #4
0
def put_image(body, filename, fmt, **kwargs):
    db = get_context().get_asyncmongo()
    kwargs.update(filename=filename)
    fs = GridFS(db, IMG_GFS)

    try:
        body = _resize_image(body, fmt, __conf__.IMG_MAX_SIZE)
        fid = yield gen.Task(fs.put, body, **kwargs)
        thumbnail = _resize_image(body, fmt, __conf__.THUMBNAIL_SIZE)

        tfs = GridFS(db, THUMBNAIL_GFS)
        tfid = yield gen.Task(tfs.put, thumbnail, _id=fid, **kwargs)
    except Exception as e:
        yield gen.Task(fs.delete, fid)
        print e
        raise

    raise gen.Return(fid)
Пример #5
0
def put_file(body, filename, **kwargs):
    db = get_context().get_asyncmongo()
    fs = GridFS(db, FILE_GFS)
    kwargs.update(filename=filename)
    fs.put(body, **kwargs)