)]}'
{"vitrage/evaluator/base.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"b12d949bf1c2f45d4587b11c1ee4c1c33055e564","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def is_function(str):"},{"line_number":20,"context_line":"    start_args \u003d str.find(\u0027(\u0027)"},{"line_number":21,"context_line":"    end_args \u003d str.find(\u0027)\u0027, start_args + 1) if start_args \u003e 0 else -1"},{"line_number":22,"context_line":"    return end_args \u003e 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_6b5df8e7","line":22,"range":{"start_line":20,"start_character":3,"end_line":22,"end_character":23},"updated":"2018-01-14 13:26:10.000000000","message":"why not use a regular expression here ?","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"0bb35bfe32fe2a9f76d862f2af85f2c741573f0e","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def is_function(str):"},{"line_number":20,"context_line":"    start_args \u003d str.find(\u0027(\u0027)"},{"line_number":21,"context_line":"    end_args \u003d str.find(\u0027)\u0027, start_args + 1) if start_args \u003e 0 else -1"},{"line_number":22,"context_line":"    return end_args \u003e 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_cbc9ac78","line":22,"range":{"start_line":20,"start_character":3,"end_line":22,"end_character":23},"in_reply_to":"7f96bb07_6b5df8e7","updated":"2018-01-14 13:30:46.000000000","message":"I\u0027ll change it","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def is_function(str):"},{"line_number":20,"context_line":"    start_args \u003d str.find(\u0027(\u0027)"},{"line_number":21,"context_line":"    end_args \u003d str.find(\u0027)\u0027, start_args + 1) if start_args \u003e 0 else -1"},{"line_number":22,"context_line":"    return end_args \u003e 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_3a3386f8","line":22,"range":{"start_line":20,"start_character":3,"end_line":22,"end_character":23},"in_reply_to":"7f96bb07_cbc9ac78","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"}],"vitrage/evaluator/scenario_evaluator.py":[{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return actions"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    def _evaluate_property_functions(self, template_schema, match, properties):"},{"line_number":242,"context_line":"        for key, value in properties.items():"},{"line_number":243,"context_line":"            if isinstance(value, dict):"},{"line_number":244,"context_line":"                self._evaluate_property_functions(template_schema,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_c4c18b82","line":241,"range":{"start_line":241,"start_character":8,"end_line":241,"end_character":79},"updated":"2018-01-15 12:51:31.000000000","message":"Please add some explanation and perhaps an example","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return actions"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    def _evaluate_property_functions(self, template_schema, match, properties):"},{"line_number":242,"context_line":"        for key, value in properties.items():"},{"line_number":243,"context_line":"            if isinstance(value, dict):"},{"line_number":244,"context_line":"                self._evaluate_property_functions(template_schema,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_64e75742","line":241,"range":{"start_line":241,"start_character":67,"end_line":241,"end_character":77},"updated":"2018-01-15 12:51:31.000000000","message":"action_properties","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        return actions"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    def _evaluate_property_functions(self, template_schema, match, properties):"},{"line_number":242,"context_line":"        for key, value in properties.items():"},{"line_number":243,"context_line":"            if isinstance(value, dict):"},{"line_number":244,"context_line":"                self._evaluate_property_functions(template_schema,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_ba5476ff","line":241,"range":{"start_line":241,"start_character":8,"end_line":241,"end_character":79},"in_reply_to":"7f96bb07_c4c18b82","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                args \u003d [arg.strip() for arg in func_and_args if len(arg) \u003e 0]"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"                func \u003d template_schema.function(func_name)"},{"line_number":253,"context_line":"                new_value \u003d func(match, args)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"                LOG.debug(\u0027Changing property %s value from %s to %s\u0027, key,"},{"line_number":256,"context_line":"                          properties[key], new_value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_845063d6","line":253,"range":{"start_line":253,"start_character":16,"end_line":253,"end_character":25},"updated":"2018-01-15 12:51:31.000000000","message":"function_result (?)","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                args \u003d [arg.strip() for arg in func_and_args if len(arg) \u003e 0]"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"                func \u003d template_schema.function(func_name)"},{"line_number":253,"context_line":"                new_value \u003d func(match, args)"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"                LOG.debug(\u0027Changing property %s value from %s to %s\u0027, key,"},{"line_number":256,"context_line":"                          properties[key], new_value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_7a426e40","line":253,"range":{"start_line":253,"start_character":16,"end_line":253,"end_character":25},"in_reply_to":"7f96bb07_845063d6","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"79600bc4a027fd7b512cb64d84bfa8a802eee6aa","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"                # Get the function, execute it and update the property value"},{"line_number":280,"context_line":"                func \u003d template_schema.get_function(func_name)"},{"line_number":281,"context_line":"                func_result \u003d func(match, *args)"},{"line_number":282,"context_line":"                action_props[key] \u003d func_result"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"                LOG.debug(\u0027Changed property %s value from %s to %s\u0027, key,"},{"line_number":285,"context_line":"                          action_props[key], func_result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_1a356a8f","line":282,"range":{"start_line":281,"start_character":16,"end_line":282,"end_character":47},"updated":"2018-01-16 11:17:23.000000000","message":"you can inline this","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c667b2cd95ed2762819d052476de75c1aa9c2bd8","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"                # Get the function, execute it and update the property value"},{"line_number":280,"context_line":"                func \u003d template_schema.get_function(func_name)"},{"line_number":281,"context_line":"                func_result \u003d func(match, *args)"},{"line_number":282,"context_line":"                action_props[key] \u003d func_result"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"                LOG.debug(\u0027Changed property %s value from %s to %s\u0027, key,"},{"line_number":285,"context_line":"                          action_props[key], func_result)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_05b506cd","line":282,"range":{"start_line":281,"start_character":16,"end_line":282,"end_character":47},"in_reply_to":"7f96bb07_1a356a8f","updated":"2018-01-16 13:06:15.000000000","message":"Done","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"79600bc4a027fd7b512cb64d84bfa8a802eee6aa","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                action_props[key] \u003d func_result"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"                LOG.debug(\u0027Changed property %s value from %s to %s\u0027, key,"},{"line_number":285,"context_line":"                          action_props[key], func_result)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    @staticmethod"},{"line_number":288,"context_line":"    def _get_action_spec(action_spec, match):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_da2aa22a","line":285,"range":{"start_line":285,"start_character":26,"end_line":285,"end_character":57},"updated":"2018-01-16 11:17:23.000000000","message":"has the same value no ?","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c667b2cd95ed2762819d052476de75c1aa9c2bd8","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                action_props[key] \u003d func_result"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"                LOG.debug(\u0027Changed property %s value from %s to %s\u0027, key,"},{"line_number":285,"context_line":"                          action_props[key], func_result)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    @staticmethod"},{"line_number":288,"context_line":"    def _get_action_spec(action_spec, match):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_a5cd3267","line":285,"range":{"start_line":285,"start_character":26,"end_line":285,"end_character":57},"in_reply_to":"7f96bb07_da2aa22a","updated":"2018-01-16 13:06:15.000000000","message":"Done","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"}],"vitrage/evaluator/template_data.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"b12d949bf1c2f45d4587b11c1ee4c1c33055e564","unresolved":false,"context_lines":[{"line_number":47,"context_line":"# noinspection PyAttributeOutsideInit"},{"line_number":48,"context_line":"class TemplateData(object):"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def __init__(self, name, version, entities, relationships, scenarios):"},{"line_number":51,"context_line":"        self.name \u003d name"},{"line_number":52,"context_line":"        self.version \u003d version"},{"line_number":53,"context_line":"        self.entities \u003d entities"},{"line_number":54,"context_line":"        self.relationships \u003d relationships"},{"line_number":55,"context_line":"        self.scenarios \u003d scenarios"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @property"},{"line_number":58,"context_line":"    def name(self):"},{"line_number":59,"context_line":"        return self._name"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @name.setter"},{"line_number":62,"context_line":"    def name(self, template_name):"},{"line_number":63,"context_line":"        self._name \u003d template_name"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @property"},{"line_number":66,"context_line":"    def version(self):"},{"line_number":67,"context_line":"        return self._version"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @version.setter"},{"line_number":70,"context_line":"    def version(self, version):"},{"line_number":71,"context_line":"        self._version \u003d version"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @property"},{"line_number":74,"context_line":"    def entities(self):"},{"line_number":75,"context_line":"        return self._entities"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @entities.setter"},{"line_number":78,"context_line":"    def entities(self, entities):"},{"line_number":79,"context_line":"        self._entities \u003d entities"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @property"},{"line_number":82,"context_line":"    def relationships(self):"},{"line_number":83,"context_line":"        return self._relationships"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @relationships.setter"},{"line_number":86,"context_line":"    def relationships(self, relationships):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_2bf4d0ce","line":83,"range":{"start_line":50,"start_character":4,"end_line":83,"end_character":34},"updated":"2018-01-14 13:26:10.000000000","message":"why not a named tuple?\nwhats the benefit here ?\nit is just a data holder ?","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"0bb35bfe32fe2a9f76d862f2af85f2c741573f0e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"# noinspection PyAttributeOutsideInit"},{"line_number":48,"context_line":"class TemplateData(object):"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def __init__(self, name, version, entities, relationships, scenarios):"},{"line_number":51,"context_line":"        self.name \u003d name"},{"line_number":52,"context_line":"        self.version \u003d version"},{"line_number":53,"context_line":"        self.entities \u003d entities"},{"line_number":54,"context_line":"        self.relationships \u003d relationships"},{"line_number":55,"context_line":"        self.scenarios \u003d scenarios"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    @property"},{"line_number":58,"context_line":"    def name(self):"},{"line_number":59,"context_line":"        return self._name"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @name.setter"},{"line_number":62,"context_line":"    def name(self, template_name):"},{"line_number":63,"context_line":"        self._name \u003d template_name"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    @property"},{"line_number":66,"context_line":"    def version(self):"},{"line_number":67,"context_line":"        return self._version"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    @version.setter"},{"line_number":70,"context_line":"    def version(self, version):"},{"line_number":71,"context_line":"        self._version \u003d version"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @property"},{"line_number":74,"context_line":"    def entities(self):"},{"line_number":75,"context_line":"        return self._entities"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    @entities.setter"},{"line_number":78,"context_line":"    def entities(self, entities):"},{"line_number":79,"context_line":"        self._entities \u003d entities"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    @property"},{"line_number":82,"context_line":"    def relationships(self):"},{"line_number":83,"context_line":"        return self._relationships"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @relationships.setter"},{"line_number":86,"context_line":"    def relationships(self, relationships):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_0bd0f41e","line":83,"range":{"start_line":50,"start_character":4,"end_line":83,"end_character":34},"in_reply_to":"7f96bb07_2bf4d0ce","updated":"2018-01-14 13:30:46.000000000","message":"It used to be a huge class that was also responsible to load itself, and I moved most of its code to a loader class in one of my previous changes. I didn\u0027t notice back then that it could be changed to a named tuple. All I did in this change was added a version.\nYour comment is correct, but I rather handle it in another change.","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"}],"vitrage/evaluator/template_functions/v2/functions.py":[{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"GET_ATTR \u003d \u0027get_attr\u0027"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def get_attr(match, param_list):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    if len(param_list) !\u003d 2:"},{"line_number":25,"context_line":"        LOG.warning(\u0027Called function get_attr with wrong number of \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_a4223f51","line":22,"range":{"start_line":22,"start_character":3,"end_line":22,"end_character":32},"updated":"2018-01-15 12:51:31.000000000","message":"Please document","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"GET_ATTR \u003d \u0027get_attr\u0027"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def get_attr(match, param_list):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    if len(param_list) !\u003d 2:"},{"line_number":25,"context_line":"        LOG.warning(\u0027Called function get_attr with wrong number of \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_24a2afaf","line":22,"range":{"start_line":22,"start_character":20,"end_line":22,"end_character":30},"updated":"2018-01-15 12:51:31.000000000","message":"can use *args?","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":19,"context_line":"GET_ATTR \u003d \u0027get_attr\u0027"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def get_attr(match, param_list):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    if len(param_list) !\u003d 2:"},{"line_number":25,"context_line":"        LOG.warning(\u0027Called function get_attr with wrong number of \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_9a3f3ab3","line":22,"range":{"start_line":22,"start_character":3,"end_line":22,"end_character":32},"in_reply_to":"7f96bb07_a4223f51","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    entity_props \u003d vertex.properties"},{"line_number":40,"context_line":"    attr \u003d entity_props.get(attr_name) if entity_props else None"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    LOG.debug(\u0027Function get_attr called with template_id %s and attr_name %s.\u0027"},{"line_number":43,"context_line":"              \u0027Matched vertex properties %s\u0027, template_id, attr_name,"},{"line_number":44,"context_line":"              str(entity_props))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    if attr is None:"},{"line_number":47,"context_line":"        LOG.warning(\u0027Attribute %s not found for vertex %s\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_24b94fcb","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":32},"updated":"2018-01-15 12:51:31.000000000","message":"this can be added to the debug log at the end","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    entity_props \u003d vertex.properties"},{"line_number":40,"context_line":"    attr \u003d entity_props.get(attr_name) if entity_props else None"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    LOG.debug(\u0027Function get_attr called with template_id %s and attr_name %s.\u0027"},{"line_number":43,"context_line":"              \u0027Matched vertex properties %s\u0027, template_id, attr_name,"},{"line_number":44,"context_line":"              str(entity_props))"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    if attr is None:"},{"line_number":47,"context_line":"        LOG.warning(\u0027Attribute %s not found for vertex %s\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_da72a2ad","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":32},"in_reply_to":"7f96bb07_24b94fcb","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"}],"vitrage/evaluator/template_schemas.py":[{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                  loader_type, self._loaders)"},{"line_number":79,"context_line":"        return self._loaders.get(loader_type)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def function(self, func_type):"},{"line_number":82,"context_line":"        LOG.debug(\u0027Get function. func_type: %s. functions: %s\u0027,"},{"line_number":83,"context_line":"                  func_type, self._functions)"},{"line_number":84,"context_line":"        return self._functions.get(func_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_c4c74b45","line":81,"range":{"start_line":81,"start_character":28,"end_line":81,"end_character":32},"updated":"2018-01-15 12:51:31.000000000","message":"name","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                  loader_type, self._loaders)"},{"line_number":79,"context_line":"        return self._loaders.get(loader_type)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def function(self, func_type):"},{"line_number":82,"context_line":"        LOG.debug(\u0027Get function. func_type: %s. functions: %s\u0027,"},{"line_number":83,"context_line":"                  func_type, self._functions)"},{"line_number":84,"context_line":"        return self._functions.get(func_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_7a6b4eb6","line":81,"range":{"start_line":81,"start_character":28,"end_line":81,"end_character":32},"in_reply_to":"7f96bb07_c4c74b45","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"79600bc4a027fd7b512cb64d84bfa8a802eee6aa","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    def version(self):"},{"line_number":69,"context_line":"        return \u00271\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def get_validator(self, validator_type):"},{"line_number":72,"context_line":"        LOG.debug(\u0027Get validator. validator_type: %s. validators: %s\u0027,"},{"line_number":73,"context_line":"                  validator_type, self._validators)"},{"line_number":74,"context_line":"        return self._validators.get(validator_type)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def get_loader(self, loader_type):"},{"line_number":77,"context_line":"        LOG.debug(\u0027Get loader. loader_type: %s. loaders: %s\u0027,"},{"line_number":78,"context_line":"                  loader_type, self._loaders)"},{"line_number":79,"context_line":"        return self._loaders.get(loader_type)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def get_function(self, func_name):"},{"line_number":82,"context_line":"        LOG.debug(\u0027Get function. func_name: %s. functions: %s\u0027,"},{"line_number":83,"context_line":"                  func_name, self._functions)"},{"line_number":84,"context_line":"        return self._functions.get(func_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_9ace5a80","line":81,"range":{"start_line":71,"start_character":4,"end_line":81,"end_character":38},"updated":"2018-01-16 11:17:23.000000000","message":"why not use a @property \nand then we don\u0027t need this get_","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c667b2cd95ed2762819d052476de75c1aa9c2bd8","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    def version(self):"},{"line_number":69,"context_line":"        return \u00271\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def get_validator(self, validator_type):"},{"line_number":72,"context_line":"        LOG.debug(\u0027Get validator. validator_type: %s. validators: %s\u0027,"},{"line_number":73,"context_line":"                  validator_type, self._validators)"},{"line_number":74,"context_line":"        return self._validators.get(validator_type)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def get_loader(self, loader_type):"},{"line_number":77,"context_line":"        LOG.debug(\u0027Get loader. loader_type: %s. loaders: %s\u0027,"},{"line_number":78,"context_line":"                  loader_type, self._loaders)"},{"line_number":79,"context_line":"        return self._loaders.get(loader_type)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def get_function(self, func_name):"},{"line_number":82,"context_line":"        LOG.debug(\u0027Get function. func_name: %s. functions: %s\u0027,"},{"line_number":83,"context_line":"                  func_name, self._functions)"},{"line_number":84,"context_line":"        return self._functions.get(func_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_c5cabe4c","line":81,"range":{"start_line":71,"start_character":4,"end_line":81,"end_character":38},"in_reply_to":"7f96bb07_9ace5a80","updated":"2018-01-16 13:06:15.000000000","message":"Done","commit_id":"817fb83e3d479b4a15dad829292b2244c8c60cd3"}],"vitrage/evaluator/template_validation/content/v2/execute_mistral_validator.py":[{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        inputs \u003d properties[INPUT] if INPUT in properties else {}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for key, value in inputs.items():"},{"line_number":52,"context_line":"            if re.findall(\u0027[(),]\u0027, value) and not is_function(value):"},{"line_number":53,"context_line":"                LOG.error(\u0027%s status code: %s\u0027 % (status_msgs[138], 138))"},{"line_number":54,"context_line":"                return get_content_fault_result(138)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_841dc3be","line":52,"range":{"start_line":52,"start_character":27,"end_line":52,"end_character":32},"updated":"2018-01-15 12:51:31.000000000","message":"perhaps only give a warning?","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        inputs \u003d properties[INPUT] if INPUT in properties else {}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        for key, value in inputs.items():"},{"line_number":52,"context_line":"            if re.findall(\u0027[(),]\u0027, value) and not is_function(value):"},{"line_number":53,"context_line":"                LOG.error(\u0027%s status code: %s\u0027 % (status_msgs[138], 138))"},{"line_number":54,"context_line":"                return get_content_fault_result(138)"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_3a6146d4","line":52,"range":{"start_line":52,"start_character":27,"end_line":52,"end_character":32},"in_reply_to":"7f96bb07_841dc3be","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"}],"vitrage/tests/resources/templates/version/v2/v2_with_func.yaml":[{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"1af4c57ef8f0e6d51de5a1cc3565d05eeba4b7d4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        properties:"},{"line_number":28,"context_line":"         workflow: wf_for_tempest_test_1234"},{"line_number":29,"context_line":"         input:"},{"line_number":30,"context_line":"          farewell: get_attr(alarm,name)"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f96bb07_c4518b64","line":30,"range":{"start_line":30,"start_character":19,"end_line":30,"end_character":40},"updated":"2018-01-15 12:51:31.000000000","message":"can add a test with spaces, like \"get_attr(alarm , name)\"","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"c313fdf93653e414d4e8b58e224acde615576a51","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        properties:"},{"line_number":28,"context_line":"         workflow: wf_for_tempest_test_1234"},{"line_number":29,"context_line":"         input:"},{"line_number":30,"context_line":"          farewell: get_attr(alarm,name)"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7f96bb07_baa236fb","line":30,"range":{"start_line":30,"start_character":19,"end_line":30,"end_character":40},"in_reply_to":"7f96bb07_c4518b64","updated":"2018-01-16 11:06:16.000000000","message":"Done","commit_id":"cda74433c54cc713a1f0d818be5de4f3609125ec"}]}
