X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Fspecification_parser.py;h=61ef42ef8d5acd7210c7e66a9eb159466b5f07a0;hb=eb4ced476953a8579017eed2b9d2153f85e784b2;hp=d2939bb4c1cc2f260ed027948e619a291dfa9568;hpb=691f24ec052cc9d48d6abe143bcae95486f94388;p=csit.git diff --git a/resources/tools/presentation/specification_parser.py b/resources/tools/presentation/specification_parser.py index d2939bb4c1..61ef42ef8d 100644 --- a/resources/tools/presentation/specification_parser.py +++ b/resources/tools/presentation/specification_parser.py @@ -135,6 +135,15 @@ class Specification: """ return self._specification[u"input"] + @input.setter + def input(self, new_value): + """Setter - specification - inputs. + + :param new_value: New value to be set. + :type new_value: dict + """ + self._specification[u"input"] = new_value + @property def builds(self): """Getter - builds defined in specification. @@ -144,6 +153,27 @@ class Specification: """ return self.input[u"builds"] + @builds.setter + def builds(self, new_value): + """Setter - builds defined in specification. + + :param new_value: New value to be set. + :type new_value: dict + """ + self.input[u"builds"] = new_value + + def add_build(self, job, build): + """Add a build to the specification. + + :param job: The job which run the build. + :param build: The build to be added. + :type job: str + :type build: dict + """ + if self._specification[u"input"][u"builds"].get(job, None) is None: + self._specification[u"input"][u"builds"][job] = list() + self._specification[u"input"][u"builds"][job].append(build) + @property def output(self): """Getter - specification - output formats and versions to be generated. @@ -664,6 +694,19 @@ class Specification: if isinstance(data_set, str): table[u"history"][i][u"data-replacement"] = \ self.configuration[u"data-sets"][data_set] + + if table.get(u"columns", None): + for i in range(len(table[u"columns"])): + data_set = table[u"columns"][i].get(u"data-set", None) + if isinstance(data_set, str): + table[u"columns"][i][u"data-set"] = \ + self.configuration[u"data-sets"][data_set] + data_set = table[u"columns"][i].get( + u"data-replacement", None) + if isinstance(data_set, str): + table[u"columns"][i][u"data-replacement"] = \ + self.configuration[u"data-sets"][data_set] + except KeyError: raise PresentationError( f"Wrong data set used in {table.get(u'title', u'')}."