コード例 #1
0
ファイル: __init__.py プロジェクト: Geemix/pycloudinary
    def __generate_single_srcset_url(self, breakpoint, **options):
        """
        Helper function. Generates a single srcset item url.

        :param width:   Width in pixels of the srcset item
        :param options: A dict with additional options

        :return: Resulting URL of the item
        """

        # The following line is used for the next purposes:
        #   1. Generate raw transformation string
        #   2. Cleanup transformation parameters from options.
        # We call it intentionally even when the user provided custom transformation in srcset
        raw_transformation, options = utils.generate_transformation_string(
            **options)

        # Handle custom transformation provided for srcset items
        if "srcset" in options and "transformation" in options[
                "srcset"] and options["srcset"]["transformation"]:
            options["transformation"] = options["srcset"]["transformation"]
            raw_transformation, options = utils.generate_transformation_string(
                **options)

        options[
            "raw_transformation"] = raw_transformation + "/c_scale,w_{}".format(
                breakpoint)

        # We might still have width and height params left if they were provided.
        # We don't want to use them for the second time
        for key in {"width", "height"}:
            options.pop(key, None)

        return utils.cloudinary_url(self.public_id, **options)[0]
コード例 #2
0
ファイル: uploader.py プロジェクト: Bunch/pycloudinary
def build_upload_params(**options):
  params = {"timestamp": now(),
            "transformation" :  utils.generate_transformation_string(**options)[0],
            "public_id":  options.get("public_id"),
            "callback":  options.get("callback"),
            "format": options.get("format"),
            "type": options.get("type"),
            "backup": options.get("backup"),
            "tags": options.get("tags") and ",".join(utils.build_array(options["tags"]))}    
  if "eager" in options:
    params["eager"] = "|".join([utils.generate_transformation_string(**tr)[0] for tr in utils.build_array(options["eager"]) if tr])
  return params    
コード例 #3
0
ファイル: uploader.py プロジェクト: IlianIliev/pycloudinary
def build_eager(transformations):
    eager = []
    for tr in utils.build_array(transformations):
        format = tr.get("format") 
        single_eager = "/".join([x for x in [utils.generate_transformation_string(**tr)[0], format] if x])      
        eager.append(single_eager)
    return "|".join(eager)          
コード例 #4
0
ファイル: uploader.py プロジェクト: galuszkak/pycloudinary
def build_eager(transformations):
  eager = []
  for tr in utils.build_array(transformations):
    format = tr.get("format") 
    single_eager = "/".join([x for x in [utils.generate_transformation_string(**tr)[0], format] if x])      
    eager.append(single_eager)
  return "|".join(eager)          
コード例 #5
0
ファイル: uploader.py プロジェクト: munhitsu/pycloudinary
def build_upload_params(**options):
    params = {
        "timestamp":
        now(),
        "transformation":
        utils.generate_transformation_string(**options)[0],
        "public_id":
        options.get("public_id"),
        "callback":
        options.get("callback"),
        "format":
        options.get("format"),
        "type":
        options.get("type"),
        "backup":
        options.get("backup"),
        "faces":
        options.get("faces"),
        "exif":
        options.get("exif"),
        "colors":
        options.get("colors"),
        "headers":
        build_custom_headers(options.get("headers")),
        "eager":
        build_eager(options.get("eager")),
        "tags":
        options.get("tags") and ",".join(utils.build_array(options["tags"]))
    }
    return params
コード例 #6
0
def explode(public_id, **options):
    params = {
        "timestamp": utils.now(),
        "public_id": public_id,
        "format": options.get("format"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(**options)[0]
    }
    return call_api("explode", params, **options)
コード例 #7
0
ファイル: uploader.py プロジェクト: nloadholtes/pycloudinary
def generate_sprite(tag, **options):
     params = {
        "timestamp": utils.now(),
        "tag": tag,
        "async": options.get("async"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(fetch_format=options.get("format"), **options)[0]
        }
     return call_api("sprite", params, **options)
コード例 #8
0
ファイル: uploader.py プロジェクト: nloadholtes/pycloudinary
def explode(public_id, **options):
     params = {
        "timestamp": utils.now(),
        "public_id": public_id,
        "format": options.get("format"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(**options)[0]
        }
     return call_api("explode", params, **options)
コード例 #9
0
def generate_sprite(tag, **options):
     params = {
        "timestamp": utils.now(),
        "tag": tag,
        "async": options.get("async"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(fetch_format=options.get("format"), **options)[0]
        }
     return call_api("sprite", params, **options)
コード例 #10
0
def multi(tag, **options):
    params = {
        "timestamp": utils.now(),
        "tag": tag,
        "format": options.get("format"),
        "async": options.get("async"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(**options)[0]
    }
    return call_api("multi", params, **options)
コード例 #11
0
ファイル: uploader.py プロジェクト: nloadholtes/pycloudinary
def multi(tag, **options):
     params = {
        "timestamp": utils.now(),
        "tag": tag,
        "format": options.get("format"),
        "async": options.get("async"),
        "notification_url": options.get("notification_url"),
        "transformation": utils.generate_transformation_string(**options)[0]
        }
     return call_api("multi", params, **options)
コード例 #12
0
ファイル: uploader.py プロジェクト: galuszkak/pycloudinary
def build_upload_params(**options):
  params = {"timestamp": now(),
            "transformation" :  utils.generate_transformation_string(**options)[0],
            "public_id":  options.get("public_id"),
            "callback":  options.get("callback"),
            "format": options.get("format"),
            "type": options.get("type"),
            "backup": options.get("backup"),
            "headers": build_custom_headers(options.get("headers")),
            "eager": build_eager(options.get("eager")),
            "tags": options.get("tags") and ",".join(utils.build_array(options["tags"]))}    
  return params    
コード例 #13
0
ファイル: models.py プロジェクト: Bunch/pycloudinary
 def url_with_options_chain(self, *options):
   # Allow transformations to be chained together by passing in array of
   # transformations
   
   # XXX Note that some fancy transformations will only work in the first
   # XXX transformation, we'll build this functionality out further in the
   # XXX future if we need it
   
   # Generate a base url based on the first transformation
   url = utils.cloudinary_url(self.name, **options[0][0])[0]
   
   # For the rest of transformations in the chain, insert into the image
   # url appropriately
   for transformation in options[0][1:]:
     split_pos = re.search('upload/.+?/',url).end()
     url = url[:split_pos] + \
       utils.generate_transformation_string(**transformation)[0] + '/' + \
       url[split_pos:]
   
   return url
コード例 #14
0
ファイル: uploader.py プロジェクト: kod3r/pycloudinary
def build_upload_params(**options):
    params = {"timestamp": now(),
              "transformation": utils.generate_transformation_string(**options)[0],
              "public_id": options.get("public_id"),
              "callback": options.get("callback"),
              "format": options.get("format"),
              "type": options.get("type"),
              "backup": options.get("backup"),
              "faces": options.get("faces"),
              "image_metadata": options.get("image_metadata"),
              "exif": options.get("exif"),
              "colors": options.get("colors"),
              "headers": build_custom_headers(options.get("headers")),
              "eager": build_eager(options.get("eager")),
              "use_filename": options.get("use_filename"),
              "notification_url": options.get("notification_url"),
              "eager_notification_url": options.get("eager_notification_url"),
              "eager_async": options.get("eager_async"),
              "tags": options.get("tags") and ",".join(utils.build_array(options["tags"]))}
    return params
コード例 #15
0
ファイル: uploader.py プロジェクト: jmiller1/pycloudinary
def build_upload_params(**options):
    params = {"timestamp": utils.now(),
              "transformation": utils.generate_transformation_string(**options)[0],
              "public_id": options.get("public_id"),
              "callback": options.get("callback"),
              "format": options.get("format"),
              "type": options.get("type"),
              "backup": options.get("backup"),
              "faces": options.get("faces"),
              "image_metadata": options.get("image_metadata"),
              "exif": options.get("exif"),
              "colors": options.get("colors"),
              "headers": build_custom_headers(options.get("headers")),
              "eager": build_eager(options.get("eager")),
              "use_filename": options.get("use_filename"),
              "unique_filename": options.get("unique_filename"),
              "discard_original_filename": options.get("discard_original_filename"),
              "invalidate": options.get("invalidate"),
              "notification_url": options.get("notification_url"),
              "eager_notification_url": options.get("eager_notification_url"),
              "eager_async": options.get("eager_async"),
              "proxy": options.get("proxy"),
              "folder": options.get("folder"),
              "overwrite": options.get("overwrite"),
              "tags": options.get("tags") and ",".join(utils.build_array(options["tags"])),
              "allowed_formats": options.get("allowed_formats") and ",".join(utils.build_array(options["allowed_formats"])),
              "face_coordinates": utils.encode_double_array(options.get("face_coordinates")),
              "context": utils.encode_dict(options.get("context")),
              "moderation": options.get("moderation"),
              "raw_convert": options.get("raw_convert"),
              "ocr": options.get("ocr"),
              "categorization": options.get("categorization"),
              "detection": options.get("detection"),
              "similarity_search": options.get("similarity_search"),
              "auto_tagging": options.get("auto_tagging") and float(options.get("auto_tagging"))}
    params = dict( [ (k, __safe_value(v)) for (k,v) in params.items()] )
    return params
コード例 #16
0
ファイル: uploader.py プロジェクト: jmiller1/pycloudinary
def build_upload_params(**options):
    params = {
        "timestamp":
        utils.now(),
        "transformation":
        utils.generate_transformation_string(**options)[0],
        "public_id":
        options.get("public_id"),
        "callback":
        options.get("callback"),
        "format":
        options.get("format"),
        "type":
        options.get("type"),
        "backup":
        options.get("backup"),
        "faces":
        options.get("faces"),
        "image_metadata":
        options.get("image_metadata"),
        "exif":
        options.get("exif"),
        "colors":
        options.get("colors"),
        "headers":
        build_custom_headers(options.get("headers")),
        "eager":
        build_eager(options.get("eager")),
        "use_filename":
        options.get("use_filename"),
        "unique_filename":
        options.get("unique_filename"),
        "discard_original_filename":
        options.get("discard_original_filename"),
        "invalidate":
        options.get("invalidate"),
        "notification_url":
        options.get("notification_url"),
        "eager_notification_url":
        options.get("eager_notification_url"),
        "eager_async":
        options.get("eager_async"),
        "proxy":
        options.get("proxy"),
        "folder":
        options.get("folder"),
        "overwrite":
        options.get("overwrite"),
        "tags":
        options.get("tags") and ",".join(utils.build_array(options["tags"])),
        "allowed_formats":
        options.get("allowed_formats")
        and ",".join(utils.build_array(options["allowed_formats"])),
        "face_coordinates":
        utils.encode_double_array(options.get("face_coordinates")),
        "context":
        utils.encode_dict(options.get("context")),
        "moderation":
        options.get("moderation"),
        "raw_convert":
        options.get("raw_convert"),
        "ocr":
        options.get("ocr"),
        "categorization":
        options.get("categorization"),
        "detection":
        options.get("detection"),
        "similarity_search":
        options.get("similarity_search"),
        "auto_tagging":
        options.get("auto_tagging") and float(options.get("auto_tagging"))
    }
    params = dict([(k, __safe_value(v)) for (k, v) in params.items()])
    return params