)]}'
{"lower-constraints.txt":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"92ea32f792fe8b022d268698b5e903299d36f1de","unresolved":false,"context_lines":[{"line_number":163,"context_line":"WSME\u003d\u003d0.8.0"},{"line_number":164,"context_line":"yaql\u003d\u003d1.1.3"},{"line_number":165,"context_line":"zake\u003d\u003d0.1.6"},{"line_number":166,"context_line":"python-validations-libs"}],"source_content_type":"text/plain","patch_set":6,"id":"df33271e_62009002","line":166,"updated":"2020-03-31 09:49:13.000000000","message":"python3-validations-libs","commit_id":"5e0eea3f671380418d57119f16692d8a569f315d"}],"requirements.txt":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"92ea32f792fe8b022d268698b5e903299d36f1de","unresolved":false,"context_lines":[{"line_number":21,"context_line":"cryptography\u003e\u003d2.1 # BSD/Apache-2.0"},{"line_number":22,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":23,"context_line":"ansible-runner\u003e\u003d1.4.4 # Apache 2.0"},{"line_number":24,"context_line":"python-validations-libs"}],"source_content_type":"text/plain","patch_set":6,"id":"df33271e_2705fa14","line":24,"updated":"2020-03-31 09:49:13.000000000","message":"might be python3-validations-libs in fact (and, for python 2, python2-validations-libs","commit_id":"5e0eea3f671380418d57119f16692d8a569f315d"}],"tripleoclient/utils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4c87a9083b187fce658a167bf4a83380baacad9d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"import logging"},{"line_number":31,"context_line":"from six.moves.configparser import ConfigParser"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"import json"},{"line_number":34,"context_line":"import multiprocessing"},{"line_number":35,"context_line":"import netaddr"},{"line_number":36,"context_line":"import os"}],"source_content_type":"text/x-python","patch_set":22,"id":"ff570b3c_d0df200a","line":33,"updated":"2020-06-09 16:08:06.000000000","message":"pep8: F401 \u0027json\u0027 imported but unused","commit_id":"7f82a4d593fbac4f3d914323c05d2ca99736ec06"}],"tripleoclient/v1/tripleo_validator.py":[{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"cf1b2ec0024080bc3adb10f452f398e3b4fd384c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from tripleoclient import constants"},{"line_number":26,"context_line":"from tripleoclient import utils as oooutils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from validations_libs import constants as v_consts"},{"line_number":29,"context_line":"from validations_libs.validation_actions import ValidationActions"},{"line_number":30,"context_line":"from validations_libs.validation_logs import ValidationLogs"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"ff570b3c_d32543ad","line":28,"updated":"2020-05-13 11:27:46.000000000","message":"you have to add:\nfrom validations_libs import utils as v_utils","commit_id":"418dc1c40d258a3f2ea96a1f7eadb37c14f6c97f"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"cf1b2ec0024080bc3adb10f452f398e3b4fd384c","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class _CommaListGroupAction(argparse.Action):"},{"line_number":46,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":47,"context_line":"        opts \u003d oooutils.get_validation_group_name_list()"},{"line_number":48,"context_line":"        for value in values.split(\u0027,\u0027):"},{"line_number":49,"context_line":"            if value not in opts:"},{"line_number":50,"context_line":"                message \u003d (\"Invalid choice: {value} (choose from {choice})\""}],"source_content_type":"text/x-python","patch_set":17,"id":"ff570b3c_f32207a4","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":23},"updated":"2020-05-13 11:27:46.000000000","message":"comes now from validations_libs.utils (v_utils according to previous comment)","commit_id":"418dc1c40d258a3f2ea96a1f7eadb37c14f6c97f"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"90efd0a76a23879c7b05968f88c6c33e8a2acc41","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class _CommaListGroupAction(argparse.Action):"},{"line_number":46,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":47,"context_line":"        opts \u003d oooutils.get_validation_group_name_list()"},{"line_number":48,"context_line":"        for value in values.split(\u0027,\u0027):"},{"line_number":49,"context_line":"            if value not in opts:"},{"line_number":50,"context_line":"                message \u003d (\"Invalid choice: {value} (choose from {choice})\""}],"source_content_type":"text/x-python","patch_set":17,"id":"ff570b3c_f3a5e705","line":47,"range":{"start_line":47,"start_character":15,"end_line":47,"end_character":23},"in_reply_to":"ff570b3c_f32207a4","updated":"2020-05-13 11:30:55.000000000","message":"(and it apparently needs to get a param, groups_path - at least its default value is wrong for some reasons)","commit_id":"418dc1c40d258a3f2ea96a1f7eadb37c14f6c97f"},{"author":{"_account_id":11491,"name":"Gael Chamoulaud","email":"gchamoul@redhat.com","username":"gchamoul"},"change_message_id":"2170bb8e51375e0480352e2ddc4aa1087f471c7d","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        )"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        parser.add_argument("},{"line_number":224,"context_line":"            \u0027--workers\u0027, \u0027-w\u0027,"},{"line_number":225,"context_line":"            metavar\u003d\u0027N\u0027,"},{"line_number":226,"context_line":"            dest\u003d\u0027workers\u0027,"},{"line_number":227,"context_line":"            default\u003d1,"}],"source_content_type":"text/x-python","patch_set":17,"id":"ff570b3c_e477fc39","line":224,"updated":"2020-05-12 12:23:47.000000000","message":"This option is useless now that we don\u0027t need the thread pool executor. Please, remove this option.","commit_id":"418dc1c40d258a3f2ea96a1f7eadb37c14f6c97f"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"7ff72d68c698f12214d96e04a8627e9739986144","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        )"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        parser.add_argument("},{"line_number":224,"context_line":"            \u0027--workers\u0027, \u0027-w\u0027,"},{"line_number":225,"context_line":"            metavar\u003d\u0027N\u0027,"},{"line_number":226,"context_line":"            dest\u003d\u0027workers\u0027,"},{"line_number":227,"context_line":"            default\u003d1,"}],"source_content_type":"text/x-python","patch_set":17,"id":"ff570b3c_e7e41eaf","line":224,"in_reply_to":"ff570b3c_e477fc39","updated":"2020-05-12 12:56:17.000000000","message":"ah - that will require an update to my patch in the tripleo-operator-ansible then.\n+1 on the useless option removal!","commit_id":"418dc1c40d258a3f2ea96a1f7eadb37c14f6c97f"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"9bbdde49ae0aa126d6c6e1d12966f411ad1b07a5","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"class _CommaListGroupAction(argparse.Action):"},{"line_number":47,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":48,"context_line":"        opts \u003d v_utils.get_validation_group_name_list(VALIDATION_GROUPS_INFO)"},{"line_number":49,"context_line":"        for value in values.split(\u0027,\u0027):"},{"line_number":50,"context_line":"            if value not in opts:"},{"line_number":51,"context_line":"                message \u003d (\"Invalid choice: {value} (choose from {choice})\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ff570b3c_7585e6ce","line":48,"range":{"start_line":48,"start_character":54,"end_line":48,"end_character":76},"updated":"2020-05-18 13:14:19.000000000","message":"I think it should be constants.VALIDATION_GROUPS_INFO here, or GROUP_FILE... ?","commit_id":"c09c31662a8a750e974cdaf5af76561b99153c46"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"c8960a3d23750da4066ee75d284b633b1e0943a3","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def take_action(self, parsed_args):"},{"line_number":71,"context_line":"        actions \u003d ValidationActions(constants.ANSIBLE_VALIDATION_DIR)"},{"line_number":72,"context_line":"        return actions.group_information(constants.VALIDATION_GROUPS_INFO)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"class TripleOValidatorShow(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff570b3c_b5013e3b","line":72,"range":{"start_line":72,"start_character":41,"end_line":72,"end_character":73},"updated":"2020-05-18 13:19:07.000000000","message":"you\u0027ll hate me - but here, then, GROUP_FILE","commit_id":"40e910e49fec1724ebb8b09d9aeec16735d26944"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:gate","change_message_id":"5132ff9a3acb2dd573ceb24fc5e3fc1484d51d7a","unresolved":false,"context_lines":[{"line_number":351,"context_line":"            if r.get(\u0027status\u0027):"},{"line_number":352,"context_line":"                status \u003d r.get(\u0027status\u0027)"},{"line_number":353,"context_line":"                color \u003d (CYAN if status in [\u0027starting\u0027, \u0027running\u0027]"},{"line_number":354,"context_line":"                         else GREEN if status is \u0027PASSED\u0027 else RED)"},{"line_number":355,"context_line":"                r[\u0027status\u0027] \u003d \u0027{}{}{}\u0027.format(color, status, RESET)"},{"line_number":356,"context_line":"            t.add_row(r.values())"},{"line_number":357,"context_line":"        print(t)"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff570b3c_50975bec","line":354,"updated":"2020-05-27 22:58:01.000000000","message":"pep8: F632 use \u003d\u003d/!\u003d to compare str, bytes, and int literals","commit_id":"40e910e49fec1724ebb8b09d9aeec16735d26944"}]}
