X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fspecification_parser.py;h=5a88a7ba0dae82bca8ed237e839c6fc4021a7b69;hp=548bbff532ce2b44d7a2e0281ec8f0203ee7eb46;hb=7a3ffd6d385159609fe9ee8b8c575aa4fa4d891a;hpb=1945ebc5fe96f2289c6ffc4cc162daa1d3b8658f diff --git a/resources/tools/presentation/specification_parser.py b/resources/tools/presentation/specification_parser.py index 548bbff532..5a88a7ba0d 100644 --- a/resources/tools/presentation/specification_parser.py +++ b/resources/tools/presentation/specification_parser.py @@ -307,14 +307,15 @@ class Specification: else: raise PresentationError(f"Not supported build type: {build_type}") if ret_code != 0: - raise PresentationError(u"Not possible to get the number of the " - u"build number.") + raise PresentationError( + f"Not possible to get the build number of {job}." + ) try: build_nr = int(build_nr) return build_nr except ValueError as err: raise PresentationError( - f"Not possible to get the number of the build number. Reason:\n" + f"Not possible to get the build number of {job}. Reason:\n" f"{repr(err)}" ) @@ -529,14 +530,17 @@ class Specification: if isinstance(builds, dict): build_end = builds.get(u"end", None) max_builds = builds.get(u"max-builds", None) + reverse = builds.get(u"reverse", False) try: build_end = int(build_end) except ValueError: # defined as a range build_end = self._get_build_number(job, build_end) - builds = [x for x in range(builds[u"start"], build_end + 1)] + builds = list(range(builds[u"start"], build_end + 1)) if max_builds and max_builds < len(builds): - builds = builds[:max_builds] + builds = builds[-max_builds:] + if reverse: + builds.reverse() self.configuration[u"data-sets"][set_name][job] = builds elif isinstance(builds, list): for idx, item in enumerate(builds):