def get_package_version(quay_org, repo, version=None): """Returns version of new release. If version is passed, it will be validated If no version is passed then quay repo is queried for versions and latest version is incremented by 1 on major position. :param QuayOrganization quay_org: Quay organization object :param str repo: repository name :param str|None version: :rtype: str :return: version to be used as release """ if version is None: try: latest_ver = quay_org.get_latest_release_version(repo) except QuayPackageNotFound as e: version = current_app.config['DEFAULT_RELEASE_VERSION'] logger.info("Using default release %s, reason: %s", version, e) else: latest_ver.increment() version = str(latest_ver) else: try: ReleaseVersion.validate_version(version) except ValueError as e: raise OMPSInvalidVersionFormat(str(e)) return version
def _get_package_version(quay_org, repo, version=None): if version is None: try: latest_ver = quay_org.get_latest_release_version(repo) except QuayPackageNotFound: version = current_app.config['DEFAULT_RELEASE_VERSION'] else: latest_ver.increment() version = str(latest_ver) else: try: ReleaseVersion.validate_version(version) except ValueError as e: raise OMPSInvalidVersionFormat(str(e)) return version