diff --git a/bin/maint/valid_issue.py b/bin/maint/valid_issue.py index f2cec0c1cd5f1bffa13c5b45e9fe8ecfb29635f2..83bff1b49a2de3d530fe93e96d67b1ffb05d59e4 100755 --- a/bin/maint/valid_issue.py +++ b/bin/maint/valid_issue.py @@ -15,12 +15,20 @@ from api_roundup.utils import read_issue_list from api_roundup import validate_issue -if __name__ == '__main__': +if __name__ == "__main__": # command arguments parser parser = OptionParser(usage=__doc__) - parser.add_option('-g', '--debug', action='callback', callback=setlevel, - help="add debug informations") + parser.add_option( + "-g", "--debug", action="callback", callback=setlevel, help="add debug informations" + ) + ltyp = [] + for typ in ("anomalie", "evolution"): + print(f"Valid issues of type {typ!r} ([y]/n)?", end=" ") + ret = input() + if ret.lower() not in ("n", "no"): + ltyp.append(typ) + opts, args = parser.parse_args() if len(args) != 1: parser.error("exactly one argument is required") - validate_issue(read_issue_list(args[0])) + validate_issue(read_issue_list(args[0]), types=ltyp) diff --git a/lib/api_roundup/rex.py b/lib/api_roundup/rex.py index fde974db69f4fb76e9018836fd08abfe163c9a9a..cabd9bc8480640037483566cad7c3beb169e587a 100644 --- a/lib/api_roundup/rex.py +++ b/lib/api_roundup/rex.py @@ -218,7 +218,7 @@ def mark_as_closed(issue_list, tagv, expl): prod_name = get_value(server, "produit", issue["produit"], "name") if prod_name == "code_aster": - type_name = server.display("type" + issue["type"], "name")["name"] + type_name = get_value(server, "type", issue["type"], "name") if not issue[d_champ["a_corrige"]] and type_name != "aide utilisation": changes.append([d_champ["a_corrige"], YES]) logger.warn(_("{0} should not be solved in V{1}").format(issue_id, typv)) @@ -244,7 +244,7 @@ def mark_as_closed(issue_list, tagv, expl): server.set(issue_id, *args) -def validate_issue(issue_list): +def validate_issue(issue_list, types=None): """Change the status of issues to 'valide_EDA' issue_list: list of issues numbers""" with get_connection(write=True) as server: @@ -254,6 +254,11 @@ def validate_issue(issue_list): for numf in issue_list: issue_id = "issue" + str(numf) issue = server.display(issue_id) + if types is not None: + type_name = get_value(server, "type", issue["type"], "name") + if type_name not in types: + logger.info(_("{0}: skipped (type: {1})").format(issue_id, type_name)) + continue # 4.2. check issue values status = get_value(server, "status", issue["status"], "name")