示例#1
0
文件: views.py 项目: imfht/flaskapps
def put(**kwargs):
    if 'namespace' in kwargs:
        kwargs = _namespace_kwargs(kwargs)

    stream, filename = request_content()
    if not stream:
        return StatusResponse("no post content", 400)

    cur = model.get_digest(stream)
    try:
        return PasteResponse(next(cur), "already exists", filename)
    except StopIteration:
        pass

    if filename:
        kwargs['mimetype'], _ = guess_type(filename)

    # this entirely replaces paste headers, which might not be expected behavior
    headers = dict(allowed_headers(request.headers))

    # FIXME: such query; wow
    invalidate(**kwargs)
    result = model.put(stream, headers=headers, **kwargs)
    if result['n']:
        paste = next(model.get_meta(**kwargs))
        return PasteResponse(paste, "updated")

    return StatusResponse("not found", 404)
示例#2
0
def put(**kwargs):
    if 'namespace' in kwargs:
        kwargs = _namespace_kwargs(kwargs)

    stream, filename = request_content()
    if not stream:
        return StatusResponse("no post content", 400)

    cur = model.get_digest(stream)
    try:
        return PasteResponse(next(cur), "already exists", filename)
    except StopIteration:
        pass

    if filename:
        kwargs['mimetype'], _ = guess_type(filename)

    # FIXME: such query; wow
    invalidate(**kwargs)
    result = model.put(stream, **kwargs)
    if result['n']:
        paste = next(model.get_meta(**kwargs))
        return PasteResponse(paste, "updated")

    return StatusResponse("not found", 404)
示例#3
0
文件: views.py 项目: GermainZ/pb
def put(uuid):
    content, filename = request_content()
    if not content:
        return "Nope.\n", 400

    id, digest = model.get_digest(content)
    if id or digest:
        url = id_url(b66=id) if id else id_url(sha1=digest)
        return redirect(url, "Paste already exists.\n", 409)

    id, digest = model.put(uuid.bytes, content)
    if id or digest:
        url = id_url(b66=(id, filename)) if id else id_url(sha1=digest)
        return redirect(url, "{} updated.\n".format(url), 200)

    return "Not found.\n", 404
示例#4
0
文件: views.py 项目: GermainZ/pb
def put(uuid):
    content, filename = request_content()
    if not content:
        return "Nope.\n", 400

    id, digest = model.get_digest(content)
    if id or digest:
        url = id_url(b66=id) if id else id_url(sha1=digest)
        return redirect(url, "Paste already exists.\n", 409)

    id, digest = model.put(uuid.bytes, content)
    if id or digest:
        url = id_url(b66=(id, filename)) if id else id_url(sha1=digest)
        return redirect(url, "{} updated.\n".format(url), 200)

    return "Not found.\n", 404
示例#5
0
def put(uuid):
    stream, filename = request_content()
    if not stream:
        return "Nope.\n", 400

    cur = model.get_digest(stream)
    if cur.count():
        return complex_response(cur.__next__(), filename=filename, status="already exists")

    # FIXME: such query; wow
    invalidate(uuid)
    result = model.put(uuid, stream)
    if result['n']:
        paste = model.get_meta(_id=uuid.hex).__next__()
        return complex_response(paste, status="updated")

    return "Not found.\n", 404
示例#6
0
文件: views.py 项目: HalosGhost/pb
def put(**kwargs):
    if 'namespace' in kwargs:
        kwargs = _namespace_kwargs(kwargs)

    stream, filename = request_content()
    if not stream:
        return StatusResponse("no post content", 400)

    cur = model.get_digest(stream)
    if cur.count():
        return PasteResponse(next(cur), "already exists", filename)

    if filename:
        kwargs['mimetype'], _ = guess_type(filename)

    # FIXME: such query; wow
    invalidate(**kwargs)
    result = model.put(stream, **kwargs)
    if result['n']:
        paste = next(model.get_meta(**kwargs))
        return PasteResponse(paste, "updated")

    return StatusResponse("not found", 404)