diff --git a/libpermian/plugins/compose/__init__.py b/libpermian/plugins/compose/__init__.py index d3c0834..5f809ee 100644 --- a/libpermian/plugins/compose/__init__.py +++ b/libpermian/plugins/compose/__init__.py @@ -33,7 +33,7 @@ def __str__(self): class ComposeStructure(BaseStructure): id_regex = re.compile(r'(?P\w+)-(?P(?P\d+)(\.(?P\d+))?(\.(?P\d))?)((-updates)?(-(?P\w+)-\d)?-(?P\d+)(\.(?P.))?\.(?P\d+))?') - def __init__(self, settings, id, product=None, version=None, major=None, minor=None, qr=None, date=None, respin=None, location=None, location_http=None, compose_type=None, nightly=None, development=None, label=None, prerelease=None, tags=None, new_tag=None, layered=None, parent_product=None, parent_version=None, available_in=None): + def __init__(self, settings, id, product=None, version=None, major=None, minor=None, qr=None, date=None, respin=None, location=None, location_http=None, compose_type=None, nightly=None, development=None, label=None, prerelease=None, tags=None, new_tag=None, layered=None, parent_product=None, parent_version=None, available_in=None, release_type=None): super().__init__(settings) self.id = id self._matches = re.match(self.id_regex, self.id) @@ -50,6 +50,7 @@ def __init__(self, settings, id, product=None, version=None, major=None, minor=N self._location = location self.location_http = location_http self._type = compose_type + self._release_type = release_type self._nightly = nightly self.development = development if development is not None else self._matches.group('flag') == 'd' self._label = label @@ -83,6 +84,12 @@ def nightly(self): return self._nightly return self.type == "nightly" + @property + def release_type(self): + if self._release_type is not None: + return self._release_type + return self.composeinfo.metadata.info.release.type + @property def label(self): if self._label is not None: