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)
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.")
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)
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.")