)]}'
{"vitrageclient/v1/cli/template.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"1960e86129ddcb77ff95bbca5829b56627aa21f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9fdfeff1_721ce9c0","updated":"2019-01-28 11:53:54.000000000","message":"what about parameters value that are lists ? do we support that ?","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9fdfeff1_1b3a7597","in_reply_to":"9fdfeff1_721ce9c0","updated":"2019-02-12 13:26:45.000000000","message":"I don\u0027t see a reason to support it at this stage. Do you have a use case?","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"1960e86129ddcb77ff95bbca5829b56627aa21f7","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_b23d712c","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"updated":"2019-01-28 11:53:54.000000000","message":"you can use split(\u0027\u003d\u0027, 1) inside a try catch\nand then raise a CommandError with the following text\n\u0027Malformed parameter(%s). Use the key\u003dvalue format.\u0027 % cli_param","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"3f993f5eeaa6dcae3273d1601121424efc50f860","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_8d0ff035","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"in_reply_to":"9fdfeff1_4d0028ac","updated":"2019-01-28 13:02:45.000000000","message":"actually no need for the tuple\ndict(v.split(\u0027\u003d\u0027,1) for v in cli_param_list)","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_3b77393d","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"in_reply_to":"9fdfeff1_8d0ff035","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_9b78a52b","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"in_reply_to":"9fdfeff1_b23d712c","updated":"2019-02-12 13:26:45.000000000","message":"I don\u0027t see that split throws an exception","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"a01de6ae7c84399cf22fc1f734c0cf5c9cef2f29","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_f26f79f9","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"in_reply_to":"9fdfeff1_b23d712c","updated":"2019-01-28 12:02:29.000000000","message":"the extra parameter will protect you if you have an \u003d as a value (not sure it is needed)","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"d82553291e5fc4261fe494871a85bd08436e2ea1","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        if cli_param_list:"},{"line_number":57,"context_line":"            for cli_param in cli_param_list:"},{"line_number":58,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":59,"context_line":"                if param_key and param_value:"},{"line_number":60,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_4d0028ac","line":58,"range":{"start_line":58,"start_character":51,"end_line":58,"end_character":61},"in_reply_to":"9fdfeff1_f26f79f9","updated":"2019-01-28 12:26:55.000000000","message":"dict(tuple(v.split(\u0027\u003d\u0027,1)) for v in  cli_param_list)","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":26339,"name":"Muhamad Najjar","email":"muhamad.najjar@nokia.com","username":"7mode3294"},"change_message_id":"cc10a2291b3b748521ecc4c34319c168ca7d4627","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        path \u003d parsed_args.path"},{"line_number":132,"context_line":"        template_type \u003d parsed_args.type"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        params \u003d {}"},{"line_number":135,"context_line":"        cli_param_list \u003d parsed_args.params"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        if cli_param_list:"},{"line_number":138,"context_line":"            for cli_param in cli_param_list:"},{"line_number":139,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":140,"context_line":"                if param_key and param_value:"},{"line_number":141,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        templates \u003d utils.get_client(self).template.add("},{"line_number":144,"context_line":"            path\u003dpath, template_type\u003dtemplate_type, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_91170a46","line":141,"range":{"start_line":134,"start_character":8,"end_line":141,"end_character":51},"updated":"2019-01-28 13:07:20.000000000","message":"+1","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"2880949106ef7922df2acb61d9c3e330bccc6ff1","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def take_action(self, parsed_args):"},{"line_number":131,"context_line":"        path \u003d parsed_args.path"},{"line_number":132,"context_line":"        template_type \u003d parsed_args.type"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        params \u003d {}"},{"line_number":135,"context_line":"        cli_param_list \u003d parsed_args.params"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        if cli_param_list:"},{"line_number":138,"context_line":"            for cli_param in cli_param_list:"},{"line_number":139,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":140,"context_line":"                if param_key and param_value:"},{"line_number":141,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        templates \u003d utils.get_client(self).template.add("},{"line_number":144,"context_line":"            path\u003dpath, template_type\u003dtemplate_type, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_d2b35509","line":141,"range":{"start_line":133,"start_character":0,"end_line":141,"end_character":51},"updated":"2019-01-28 11:44:13.000000000","message":"you should write a utility function that does this and use it on validate and show","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":130,"context_line":"    def take_action(self, parsed_args):"},{"line_number":131,"context_line":"        path \u003d parsed_args.path"},{"line_number":132,"context_line":"        template_type \u003d parsed_args.type"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        params \u003d {}"},{"line_number":135,"context_line":"        cli_param_list \u003d parsed_args.params"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        if cli_param_list:"},{"line_number":138,"context_line":"            for cli_param in cli_param_list:"},{"line_number":139,"context_line":"                param_key, param_value \u003d cli_param.split(\u0027\u003d\u0027)"},{"line_number":140,"context_line":"                if param_key and param_value:"},{"line_number":141,"context_line":"                    params[param_key] \u003d param_value"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        templates \u003d utils.get_client(self).template.add("},{"line_number":144,"context_line":"            path\u003dpath, template_type\u003dtemplate_type, params\u003dparams)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_5b723d4b","line":141,"range":{"start_line":133,"start_character":0,"end_line":141,"end_character":51},"in_reply_to":"9fdfeff1_d2b35509","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"e7843dac07bffdef48d1eb13da6fad07f025c7a0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            help\u003d\u0027Template type. Valid types:\u0027"},{"line_number":46,"context_line":"                                 \u0027[standard, definition, equivalence]\u0027)"},{"line_number":47,"context_line":"        parser.add_argument(\u0027--params\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":48,"context_line":"                            help\u003d\u0027Actual values for parameters of the \u0027"},{"line_number":49,"context_line":"                                 \u0027template\u0027)"},{"line_number":50,"context_line":"        return parser"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_f77f6b63","line":49,"range":{"start_line":48,"start_character":33,"end_line":49,"end_character":44},"updated":"2019-02-12 12:48:52.000000000","message":"perhaps an example of how to use?","commit_id":"70c423afd1b5e0ba1e6a4c07389ea8d3eb87ac47"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                            help\u003d\u0027Template type. Valid types:\u0027"},{"line_number":46,"context_line":"                                 \u0027[standard, definition, equivalence]\u0027)"},{"line_number":47,"context_line":"        parser.add_argument(\u0027--params\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":48,"context_line":"                            help\u003d\u0027Actual values for parameters of the \u0027"},{"line_number":49,"context_line":"                                 \u0027template\u0027)"},{"line_number":50,"context_line":"        return parser"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @property"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_d7426768","line":49,"range":{"start_line":48,"start_character":33,"end_line":49,"end_character":44},"in_reply_to":"9fdfeff1_f77f6b63","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"70c423afd1b5e0ba1e6a4c07389ea8d3eb87ac47"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"e7843dac07bffdef48d1eb13da6fad07f025c7a0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                            help\u003d\u0027Template type. Valid types:\u0027"},{"line_number":123,"context_line":"                                 \u0027[standard, definition, equivalence]\u0027)"},{"line_number":124,"context_line":"        parser.add_argument(\u0027--params\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":125,"context_line":"                            help\u003d\u0027Actual values for parameters of the \u0027"},{"line_number":126,"context_line":"                                 \u0027template\u0027)"},{"line_number":127,"context_line":"        return parser"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_b7da4375","line":126,"range":{"start_line":125,"start_character":33,"end_line":126,"end_character":42},"updated":"2019-02-12 12:48:52.000000000","message":"same here","commit_id":"70c423afd1b5e0ba1e6a4c07389ea8d3eb87ac47"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                            help\u003d\u0027Template type. Valid types:\u0027"},{"line_number":123,"context_line":"                                 \u0027[standard, definition, equivalence]\u0027)"},{"line_number":124,"context_line":"        parser.add_argument(\u0027--params\u0027, nargs\u003d\u0027+\u0027,"},{"line_number":125,"context_line":"                            help\u003d\u0027Actual values for parameters of the \u0027"},{"line_number":126,"context_line":"                                 \u0027template\u0027)"},{"line_number":127,"context_line":"        return parser"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_97605f03","line":126,"range":{"start_line":125,"start_character":33,"end_line":126,"end_character":42},"in_reply_to":"9fdfeff1_b7da4375","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"70c423afd1b5e0ba1e6a4c07389ea8d3eb87ac47"}],"vitrageclient/v1/template.py":[{"author":{"_account_id":26339,"name":"Muhamad Najjar","email":"muhamad.najjar@nokia.com","username":"7mode3294"},"change_message_id":"cc10a2291b3b748521ecc4c34319c168ca7d4627","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \"\"\"Add a new template\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        files_content \u003d self._load_yaml_files(path)"},{"line_number":42,"context_line":"        api_params \u003d dict(templates\u003dfiles_content, template_type\u003dtemplate_type,"},{"line_number":43,"context_line":"                          params\u003dparams)"},{"line_number":44,"context_line":"        return self.api.put(self.url, json\u003dapi_params).json()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, uuid):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_b1424e3d","line":43,"range":{"start_line":42,"start_character":26,"end_line":43,"end_character":39},"updated":"2019-01-28 13:07:20.000000000","message":"i think it is more eye convenient to put each parameter in separate line.\n\ni.e. \n\ndict(templates\u003dfiles_content, \n     template_type\u003dtemplate_type, \n     params\u003dparams)","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \"\"\"Add a new template\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        files_content \u003d self._load_yaml_files(path)"},{"line_number":42,"context_line":"        api_params \u003d dict(templates\u003dfiles_content, template_type\u003dtemplate_type,"},{"line_number":43,"context_line":"                          params\u003dparams)"},{"line_number":44,"context_line":"        return self.api.put(self.url, json\u003dapi_params).json()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def delete(self, uuid):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_bb98096a","line":43,"range":{"start_line":42,"start_character":26,"end_line":43,"end_character":39},"in_reply_to":"9fdfeff1_b1424e3d","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":26339,"name":"Muhamad Najjar","email":"muhamad.najjar@nokia.com","username":"7mode3294"},"change_message_id":"cc10a2291b3b748521ecc4c34319c168ca7d4627","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        files_content \u003d self._load_yaml_files(path)"},{"line_number":66,"context_line":"        api_params \u003d dict(templates\u003dfiles_content, template_type\u003dtemplate_type,"},{"line_number":67,"context_line":"                          params\u003dparams)"},{"line_number":68,"context_line":"        return self.api.post(self.url, json\u003dapi_params).json()"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _load_yaml_files(self, path):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_9145ca45","line":67,"range":{"start_line":66,"start_character":8,"end_line":67,"end_character":40},"updated":"2019-01-28 13:07:20.000000000","message":"same as above","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"48d4e5ceadb6080832ed8393111a8d7fc1570310","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        files_content \u003d self._load_yaml_files(path)"},{"line_number":66,"context_line":"        api_params \u003d dict(templates\u003dfiles_content, template_type\u003dtemplate_type,"},{"line_number":67,"context_line":"                          params\u003dparams)"},{"line_number":68,"context_line":"        return self.api.post(self.url, json\u003dapi_params).json()"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _load_yaml_files(self, path):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_db9b8d63","line":67,"range":{"start_line":66,"start_character":8,"end_line":67,"end_character":40},"in_reply_to":"9fdfeff1_9145ca45","updated":"2019-02-12 13:26:45.000000000","message":"Done","commit_id":"4bf6a6bea3ac61170575a2942c0c29cbf6d9d6fe"}]}
