Exemple #1
0
    def __init__(self,
                 product_id,
                 name=None,
                 version=None,
                 architectures=None,
                 provided_tags=None,
                 os=None,
                 brand_name=None):

        # Initialize some defaults:
        if not name:
            name = product_id

        if not architectures:
            architectures = ["x86_64"]

        if not version:
            version = "1.0"

        # Tests sadly pass these in as a flat string. # TODO
        if provided_tags:
            provided_tags = parse_tags(provided_tags)

        super(StubProduct, self).__init__(id=product_id,
                                          name=name,
                                          version=version,
                                          architectures=architectures,
                                          provided_tags=provided_tags,
                                          brand_type=os,
                                          brand_name=brand_name)
 def __init__(
     self,
     label,
     name=None,
     vendor="",
     url="",
     gpg="",
     enabled=1,
     metadata_expire=None,
     required_tags="",
     content_type="yum",
 ):
     name = label
     if name:
         name = name
     if required_tags:
         required_tags = parse_tags(required_tags)
     super(StubContent, self).__init__(
         content_type=content_type,
         name=name,
         label=label,
         vendor=vendor,
         url=url,
         gpg=gpg,
         enabled=enabled,
         metadata_expire=metadata_expire,
         required_tags=required_tags,
     )
 def _parse_v1_products(self, extensions):
     """
     Returns an ordered list of all the product data in the
     certificate.
     """
     products = []
     for prod_namespace in extensions.find('1.*.1'):
         oid = prod_namespace[0]
         root = oid.rtrim(1)
         product_id = oid[1]
         ext = extensions.branch(root)
         product_data = {
             'name': ext.get('1'),
             'version': ext.get('2'),
             'architectures': ext.get('3'),
             'provided_tags': ext.get('4'),
             # not populated, only added for parity with
             # v3 product objects
             'brand_type': ext.get('5'),
             'brand_name': ext.get('6'),
         }
         for key, value in list(product_data.items()):
             if value is not None:
                 product_data[key] = value.decode('utf-8')
         product_data['provided_tags'] = parse_tags(
             product_data['provided_tags'])
         products.append(Product(id=product_id, **product_data))
     return products
 def _parse_v1_products(self, extensions):
     """
     Returns an ordered list of all the product data in the
     certificate.
     """
     products = []
     for prod_namespace in extensions.find('1.*.1'):
         oid = prod_namespace[0]
         root = oid.rtrim(1)
         product_id = oid[1]
         ext = extensions.branch(root)
         product_data = {
             'name': ext.get('1'),
             'version': ext.get('2'),
             'architectures': ext.get('3'),
             'provided_tags': ext.get('4'),
             # not populated, only added for parity with
             # v3 product objects
             'brand_type': ext.get('5'),
             'brand_name': ext.get('6'),
         }
         for key, value in product_data.items():
             if value is not None:
                 product_data[key] = value.decode('utf-8')
         product_data['provided_tags'] = parse_tags(product_data['provided_tags'])
         products.append(Product(id=product_id, **product_data))
     return products
    def __init__(self,
                 id=None,
                 name=None,
                 version=None,
                 architectures=None,
                 provided_tags=None,
                 brand_type=None,
                 brand_name=None):

        if name is None:
            raise CertificateException("Product missing name")
        if id is None:
            raise CertificateException("Product missing ID")

        self.id = id
        self.name = name
        self.version = version

        self.architectures = architectures
        # If this is sent in as a string split it, as the field
        # can technically be multi-valued:
        if isinstance(self.architectures, six.string_types):
            self.architectures = parse_tags(self.architectures)
        if self.architectures is None:
            self.architectures = []

        self.provided_tags = provided_tags
        if self.provided_tags is None:
            self.provided_tags = []

        self.brand_type = brand_type
        self.brand_name = brand_name
 def _parse_v1_products(self, extensions):
     """
     Returns an ordered list of all the product data in the
     certificate.
     """
     products = []
     for prod_namespace in extensions.find("1.*.1"):
         oid = prod_namespace[0]
         root = oid.rtrim(1)
         product_id = oid[1]
         ext = extensions.branch(root)
         product_data = {
             "name": ext.get("1"),
             "version": ext.get("2"),
             "architectures": ext.get("3"),
             "provided_tags": ext.get("4"),
             # not populated, only added for parity with
             # v3 product objects
             "brand_type": ext.get("5"),
             "brand_name": ext.get("6"),
         }
         for key, value in list(product_data.items()):
             if value is not None:
                 product_data[key] = value.decode("utf-8")
         product_data["provided_tags"] = parse_tags(
             product_data["provided_tags"])
         products.append(Product(id=product_id, **product_data))
     return products
    def __init__(self, id=None, name=None, version=None, architectures=None,
            provided_tags=None, brand_type=None, brand_name=None):

        if name is None:
            raise CertificateException("Product missing name")
        if id is None:
            raise CertificateException("Product missing ID")

        self.id = id
        self.name = name
        self.version = version

        self.architectures = architectures
        # If this is sent in as a string split it, as the field
        # can technically be multi-valued:
        if isinstance(self.architectures, str) or isinstance(self.architectures, type(u"")):
            self.architectures = parse_tags(self.architectures)
        if self.architectures is None:
            self.architectures = []

        self.provided_tags = provided_tags
        if self.provided_tags is None:
            self.provided_tags = []

        self.brand_type = brand_type
        self.brand_name = brand_name
 def __init__(self, label, name=None, vendor="",
         url="", gpg="", enabled=1, metadata_expire=None, required_tags="",
         content_type="yum"):
     name = label
     if name:
         name = name
     if required_tags:
         required_tags = parse_tags(required_tags)
     super(StubContent, self).__init__(content_type=content_type, name=name, label=label,
                                       vendor=vendor, url=url, gpg=gpg, enabled=enabled,
                                       metadata_expire=metadata_expire,
                                       required_tags=required_tags)
 def __init__(self, label, name=None, quantity=1, vendor="",
         url="", gpg="", enabled=1, metadata_expire=None, required_tags=""):
     self.label = label
     self.name = label
     if name:
         self.name = name
     self.quantity = quantity
     self.vendor = vendor
     self.url = url
     self.gpg = gpg
     self.enabled = enabled
     self.metadata_expire = metadata_expire
     self.required_tags = parse_tags(required_tags)
Exemple #10
0
 def __init__(self, label, name=None, vendor="", url="", gpg="", enabled=1, metadata_expire=None, required_tags=""):
     name = label
     if name:
         name = name
     if required_tags:
         required_tags = parse_tags(required_tags)
     Content.__init__(
         self,
         name=name,
         label=label,
         vendor=vendor,
         url=url,
         gpg=gpg,
         enabled=enabled,
         metadata_expire=metadata_expire,
         required_tags=required_tags,
     )
Exemple #11
0
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.1.1")
     for ent in ents:
         oid = ent[0]
         content_ext = extensions.branch(oid.rtrim(1))
         content.append(Content(
             name=content_ext.get('1'),
             label=content_ext.get('2'),
             vendor=content_ext.get('5'),
             url=content_ext.get('6'),
             gpg=content_ext.get('7'),
             enabled=content_ext.get('8'),
             metadata_expire=content_ext.get('9'),
             required_tags=parse_tags(content_ext.get('10')),
         ))
     return content
Exemple #12
0
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.*.1")
     for ent in ents:
         oid = ent[0].rtrim(1)
         content_ext = extensions.branch(oid)
         content.append(Content(
             content_type=extensions.get(oid),
             name=content_ext.get('1'),
             label=content_ext.get('2'),
             vendor=content_ext.get('5'),
             url=content_ext.get('6'),
             gpg=content_ext.get('7'),
             enabled=content_ext.get('8'),
             metadata_expire=content_ext.get('9'),
             required_tags=parse_tags(content_ext.get('10')),
         ))
     return content
Exemple #13
0
    def __init__(self, product_id, name=None, version=None, architectures=None, provided_tags=None):

        # Initialize some defaults:
        if not name:
            name = product_id

        if not architectures:
            architectures = ["x86_64"]

        if not version:
            version = "1.0"

        # Tests sadly pass these in as a flat string. # TODO
        if provided_tags:
            provided_tags = parse_tags(provided_tags)

        Product.__init__(
            self, id=product_id, name=name, version=version, architectures=architectures, provided_tags=provided_tags
        )
Exemple #14
0
 def _parse_v1_products(self, extensions):
     """
     Returns an ordered list of all the product data in the
     certificate.
     """
     products = []
     for prod_namespace in extensions.find('1.*.1'):
         oid = prod_namespace[0]
         root = oid.rtrim(1)
         product_id = oid[1]
         ext = extensions.branch(root)
         products.append(Product(
             id=product_id,
             name=ext.get('1'),
             version=ext.get('2'),
             architectures=ext.get('3'),
             provided_tags=parse_tags(ext.get('4')),
             ))
     return products
Exemple #15
0
 def _parse_v1_products(self, extensions):
     """
     Returns an ordered list of all the product data in the
     certificate.
     """
     products = []
     for prod_namespace in extensions.find('1.*.1'):
         oid = prod_namespace[0]
         root = oid.rtrim(1)
         product_id = oid[1]
         ext = extensions.branch(root)
         products.append(Product(
             id=product_id,
             name=ext.get('1'),
             version=ext.get('2'),
             architectures=ext.get('3'),
             provided_tags=parse_tags(ext.get('4')),
             ))
     return products
Exemple #16
0
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.*.1")
     for ent in ents:
         oid = ent[0].rtrim(1)
         content_ext = extensions.branch(oid)
         content.append(
             Content(
                 content_type=extensions.get(oid),
                 name=content_ext.get("1"),
                 label=content_ext.get("2"),
                 vendor=content_ext.get("5"),
                 url=content_ext.get("6"),
                 gpg=content_ext.get("7"),
                 enabled=content_ext.get("8"),
                 metadata_expire=content_ext.get("9"),
                 required_tags=parse_tags(content_ext.get("10")),
             )
         )
     return content
    def __init__(self, product_id, name=None, version=None, arch=None,
            provided_tags=None):
        """
        provided_tags - Comma separated list of tags this product (cert)
            provides.
        """
        self.hash = product_id
        self.name = name
        if not name:
            self.name = product_id

        self.arch = arch
        if not arch:
            self.arch = "x86_64"

        self.provided_tags = parse_tags(provided_tags)

        self.version = version
        if not version:
            self.version = "1.0"
Exemple #18
0
 def __init__(self,
              label,
              name=None,
              quantity=1,
              vendor="",
              url="",
              gpg="",
              enabled=1,
              metadata_expire=None,
              required_tags=""):
     self.label = label
     self.name = label
     if name:
         self.name = name
     self.quantity = quantity
     self.vendor = vendor
     self.url = url
     self.gpg = gpg
     self.enabled = enabled
     self.metadata_expire = metadata_expire
     self.required_tags = parse_tags(required_tags)
Exemple #19
0
 def __init__(self,
              label,
              name=None,
              vendor="",
              url="",
              gpg="",
              enabled=1,
              metadata_expire=None,
              required_tags=""):
     name = label
     if name:
         name = name
     if required_tags:
         required_tags = parse_tags(required_tags)
     Content.__init__(self,
                      name=name,
                      label=label,
                      vendor=vendor,
                      url=url,
                      gpg=gpg,
                      enabled=enabled,
                      metadata_expire=metadata_expire,
                      required_tags=required_tags)
Exemple #20
0
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.*.1")
     for ent in ents:
         oid = ent[0].rtrim(1)
         content_ext = extensions.branch(oid)
         content_data = {
             'content_type': extensions.get(oid),
             'name': content_ext.get('1'),
             'label': content_ext.get('2'),
             'vendor': content_ext.get('5'),
             'url': content_ext.get('6'),
             'gpg': content_ext.get('7'),
             'enabled': content_ext.get('8'),
             'metadata_expire': content_ext.get('9'),
             'required_tags': content_ext.get('10'),
         }
         for key, value in list(content_data.items()):
             if value is not None:
                 content_data[key] = value.decode('utf-8')
         content_data['required_tags'] = parse_tags(content_data['required_tags'])
         content.append(Content(**content_data))
     return content
Exemple #21
0
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.*.1")
     for ent in ents:
         oid = ent[0].rtrim(1)
         content_ext = extensions.branch(oid)
         content_data = {
             'content_type': extensions.get(oid),
             'name': content_ext.get('1'),
             'label': content_ext.get('2'),
             'vendor': content_ext.get('5'),
             'url': content_ext.get('6'),
             'gpg': content_ext.get('7'),
             'enabled': content_ext.get('8'),
             'metadata_expire': content_ext.get('9'),
             'required_tags': content_ext.get('10'),
         }
         for key, value in content_data.items():
             if value is not None:
                 content_data[key] = value.decode('utf-8')
         content_data['required_tags'] = parse_tags(content_data['required_tags'])
         content.append(Content(**content_data))
     return content
Exemple #22
0
    def __init__(self,
                 product_id,
                 name=None,
                 version=None,
                 arch=None,
                 provided_tags=None):
        """
        provided_tags - Comma separated list of tags this product (cert)
            provides.
        """
        self.hash = product_id
        self.name = name
        if not name:
            self.name = product_id

        self.arch = arch
        if not arch:
            self.arch = "x86_64"

        self.provided_tags = parse_tags(provided_tags)

        self.version = version
        if not version:
            self.version = "1.0"
 def _parse_v1_content(self, extensions):
     content = []
     ents = extensions.find("2.*.*.1")
     for ent in ents:
         oid = ent[0].rtrim(1)
         content_ext = extensions.branch(oid)
         content_data = {
             "content_type": extensions.get(oid),
             "name": content_ext.get("1"),
             "label": content_ext.get("2"),
             "vendor": content_ext.get("5"),
             "url": content_ext.get("6"),
             "gpg": content_ext.get("7"),
             "enabled": content_ext.get("8"),
             "metadata_expire": content_ext.get("9"),
             "required_tags": content_ext.get("10"),
         }
         for key, value in list(content_data.items()):
             if value is not None:
                 content_data[key] = value.decode("utf-8")
         content_data["required_tags"] = parse_tags(
             content_data["required_tags"])
         content.append(Content(**content_data))
     return content