common – Base classes and common functions

This module provides base classes and common functions used in other productmd modules.

Constants

productmd.common.RELEASE_TYPES = ['fast', 'ga', 'updates', 'eus', 'aus', 'els']

Supported release types.

productmd.common.RELEASE_SHORT_RE = <_sre.SRE_Pattern object>

Validation regex for release short name: [a-z] followed by [a-z0-9] separated with dashes.

productmd.common.RELEASE_VERSION_RE = <_sre.SRE_Pattern object>

Validation regex for release version: any string or [0-9] separated with dots.

Functions

productmd.common.parse_nvra(nvra)

Parse RPM N-E:V-R.A string to a dict.

Parameters:nvra (str) – N-E:V-R.A string, eventually a file name or a file path incl. ‘.rpm’ suffix
Return type:dict
productmd.common.create_release_id(short, version, type, bp_short=None, bp_version=None, bp_type=None)

Create release_id from given parts.

Parameters:
  • short (str) – Release short name
  • version (str) – Release version
  • version – Release type
  • bp_short (str) – Base Product short name
  • bp_version (str) – Base Product version
  • bp_version – Base Product type
Return type:

str

productmd.common.parse_release_id(release_id)

Parse release_id to parts: {short, version, type} or {short, version, type, bp_short, bp_version, bp_type}

Parameters:release_id (str) – Release ID string
Return type:dict
productmd.common.is_valid_release_short(short)

Determine if given release short name is valid.

Parameters:short (str) – Release short name
Return type:bool
productmd.common.is_valid_release_version(version)

Determine if given release version is valid.

Parameters:version (str) – Release version
Return type:bool
productmd.common.split_version(version)

Split version to a list of integers that can be easily compared.

Parameters:version (str) – Release version
Return type:[int] or [string]
productmd.common.get_major_version(version, remove=1)

Return major version of a provided version string.

Parameters:
  • version (str) – Version string
  • remove (int) – Number of version parts to remove; defaults to 1
Return type:

str

productmd.common.get_minor_version(version, remove=1)

Return minor version of a provided version string.

Parameters:
  • version (str) – Version string
  • remove (int) – Number of version parts to remove; defaults to 1
Return type:

str

Classes

class productmd.common.MetadataBase
validate()

Validate attributes by running all self._validate_*() methods.

Raises:
  • TypeError – if an attribute has invalid type
  • ValueError – if an attribute contains invalid value
load(f)

Load data from a file.

Parameters:f (file or str) – file-like object or path to file
loads(s)

Load data from a string.

Parameters:s (str) – input data
dump(f)

Dump data to a file.

Parameters:f (file or str) – file-like object or path to file
dumps()

Dump data to a string.

Return type:str
class productmd.common.Header(parent, metadata_type)