Ejemplo n.º 1
0
def get_binary(item_id):
    """
    Uses item_id and returns the corresponding
    asset binary
    """
    file = get_file_from_sams(get_sams_client(), item_id)
    return generate_response_for_file(file)
Ejemplo n.º 2
0
def get_upload_as_data_uri(media_id):
    if not request.args.get("resource"):
        media_file = app.media.get_by_filename(media_id)
    else:
        media_file = app.media.get(media_id, request.args["resource"])
    if media_file:
        return generate_response_for_file(media_file)

    raise SuperdeskApiError.notFoundError("File not found on media storage.")
Ejemplo n.º 3
0
def download_image(item_id: str):
    """Downloads an image from SAMS and sends back to the requestee"""

    width = int(request.args["width"]) if request.args.get("width") else None
    height = int(
        request.args["height"]) if request.args.get("height") else None
    keep_proportions = strtobool(request.args.get("keep_proportions", "True"))
    file = get_image_from_sams(get_sams_client(), ObjectId(item_id), width,
                               height, keep_proportions)

    if not file:
        raise SuperdeskApiError.notFoundError(_("SAMS Image Asset not found"))

    return generate_response_for_file(file)
Ejemplo n.º 4
0
def get_media_streamed(media_id):
    if not app.auth.authorized([], "assets", "GET"):
        return app.auth.authenticate()
    try:
        media_file = app.media.get(media_id, "upload")
    except bson.errors.InvalidId:
        media_file = None
    if media_file:
        get_resource_service("api_audit").audit_item(
            {
                "type": "asset",
                "uri": request.url
            }, media_id)
        return generate_response_for_file(
            media_file,
            cache_for=3600 * 24 * 7,
            content_disposition="inline"  # 7 days cache
        )
    raise FileNotFoundError("File not found on media storage.")