Source code for errata_tool.product_version

from errata_tool import ErrataConnector
from errata_tool.variant import Variant

[docs]class ProductVersion(ErrataConnector): def __init__(self, id_or_name): """Find a Product Version in the ET database. :param id_or_name: This can be an id number (int) or product version name (str), for example "RHEL-7-CEPH-3". """ url = '/product_versions/%s.json' % id_or_name self.data = self._get(url)
[docs] def releasedBuilds(self): """Get the list of released builds for this Product Version. :returns: a (possibly-empty) list of dicts. Each dict represents a build, for example:: {'build': u'ceph-12.2.5-42.el7cp', 'created_at': '2018-09-26T18:17:33Z', 'errata_id': 33840, 'updated_at': '2018-09-26T18:17:33Z'}, """ url = '/api/v1/product_versions/%d/released_builds' % self.id result = self._get(url) return result
[docs] def variants(self): """Get the list of variants for this Product Version. :returns: a (possibly-empty) list of Variant objects. """ url = '/api/v1/variants?filter[product_version_id]=%s' % self.id result = self._get(url)['data'] variants = [] for variant in result: variant_name = variant['attributes']['name'] variants.append(Variant(name=variant_name, data=variant)) return variants
def __getattr__(self, name): return self.data[name] def __repr__(self): return 'ProductVersion(%s)' % self.id def __str__(self): return self.name