)]}'
{"vitrage/evaluator/scenario_evaluator.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            filtered_actions \u003d \\"},{"line_number":125,"context_line":"                self._analyze_and_filter_actions(actions)"},{"line_number":126,"context_line":"            for action in filtered_actions:"},{"line_number":127,"context_line":"                LOG.info(\u0027Action: %s\u0027, self._action_str(action))"},{"line_number":128,"context_line":"                self._action_executor.execute(action.specs, action.mode)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        LOG.debug(\u0027Process event - completed\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_5e700e73","line":127,"range":{"start_line":127,"start_character":20,"end_line":127,"end_character":24},"updated":"2017-10-19 13:38:32.000000000","message":"Do we want this in info level? won\u0027t there be too many messages?\nAnd if we do, is this message printed in a clear way?","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"05663dfa907a633cfcb35f0546d14153f639f73f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            filtered_actions \u003d \\"},{"line_number":125,"context_line":"                self._analyze_and_filter_actions(actions)"},{"line_number":126,"context_line":"            for action in filtered_actions:"},{"line_number":127,"context_line":"                LOG.info(\u0027Action: %s\u0027, self._action_str(action))"},{"line_number":128,"context_line":"                self._action_executor.execute(action.specs, action.mode)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        LOG.debug(\u0027Process event - completed\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_93552ac9","line":127,"range":{"start_line":127,"start_character":20,"end_line":127,"end_character":24},"in_reply_to":"3f4b6375_5db811c7","updated":"2017-10-22 06:34:40.000000000","message":"These messages are very important, the question is if there won\u0027t be too many of them.","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"4ed8f0f1ecedb572cd40f1818f4584f0c9d89250","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            filtered_actions \u003d \\"},{"line_number":125,"context_line":"                self._analyze_and_filter_actions(actions)"},{"line_number":126,"context_line":"            for action in filtered_actions:"},{"line_number":127,"context_line":"                LOG.info(\u0027Action: %s\u0027, self._action_str(action))"},{"line_number":128,"context_line":"                self._action_executor.execute(action.specs, action.mode)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        LOG.debug(\u0027Process event - completed\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_5db811c7","line":127,"range":{"start_line":127,"start_character":20,"end_line":127,"end_character":24},"in_reply_to":"3f4b6375_5e700e73","updated":"2017-10-19 17:09:30.000000000","message":"IMO this is the main functionality for this service.\nIt is printed pretty nicely, example:\n\nAction: DO raise_alarm \u0027nic_failure-scenario0-action0\u0027 targets (,c9daa748-15f2-49a6-84cc-102df6bd6689)","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    def _analyze_and_filter_actions(self, actions):"},{"line_number":242,"context_line":"        actions_to_perform \u003d []"},{"line_number":243,"context_line":"        for action_info in actions:"},{"line_number":244,"context_line":"            if action_info.mode \u003d\u003d ActionMode.DO:"},{"line_number":245,"context_line":"                is_highest_score, exists \u003d \\"},{"line_number":246,"context_line":"                    self._active_actions.calc_do_action(action_info)"},{"line_number":247,"context_line":"                if is_highest_score and not exists:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_be270265","line":244,"range":{"start_line":244,"start_character":12,"end_line":244,"end_character":48},"updated":"2017-10-19 13:38:32.000000000","message":"Please add a comment with examples","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                    self._active_actions.calc_undo_action(action_info)"},{"line_number":252,"context_line":"                if is_highest_score:"},{"line_number":253,"context_line":"                    if second_highest:"},{"line_number":254,"context_line":"                        # add the \u0027do\u0027"},{"line_number":255,"context_line":"                        action_to_perform \u003d self._db_action_to_action_info("},{"line_number":256,"context_line":"                            second_highest)"},{"line_number":257,"context_line":"                        actions_to_perform.append(action_to_perform)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_fed21a34","line":254,"range":{"start_line":254,"start_character":24,"end_line":254,"end_character":38},"updated":"2017-10-19 13:38:32.000000000","message":"I would write \"DO the second highest action\"\nAnd \"UNDO the action, as there is no other similar action\"\nor something like that","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"4ed8f0f1ecedb572cd40f1818f4584f0c9d89250","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                    self._active_actions.calc_undo_action(action_info)"},{"line_number":252,"context_line":"                if is_highest_score:"},{"line_number":253,"context_line":"                    if second_highest:"},{"line_number":254,"context_line":"                        # add the \u0027do\u0027"},{"line_number":255,"context_line":"                        action_to_perform \u003d self._db_action_to_action_info("},{"line_number":256,"context_line":"                            second_highest)"},{"line_number":257,"context_line":"                        actions_to_perform.append(action_to_perform)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_5dc7f113","line":254,"range":{"start_line":254,"start_character":24,"end_line":254,"end_character":38},"in_reply_to":"3f4b6375_fed21a34","updated":"2017-10-19 17:09:30.000000000","message":"actions may not be performed, since are later filtered","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                        # add the \u0027undo\u0027"},{"line_number":260,"context_line":"                        actions_to_perform.append(action_info)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        unique_ordered_actions \u003d OrderedDict()"},{"line_number":263,"context_line":"        for action in actions_to_perform:"},{"line_number":264,"context_line":"            id_ \u003d ScenarioEvaluator._generate_action_id(action.specs)"},{"line_number":265,"context_line":"            unique_ordered_actions[id_] \u003d action"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1ec61669","line":262,"range":{"start_line":262,"start_character":8,"end_line":262,"end_character":30},"updated":"2017-10-19 13:38:32.000000000","message":"Where is it used?","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"05663dfa907a633cfcb35f0546d14153f639f73f","unresolved":false,"context_lines":[{"line_number":259,"context_line":"                        # add the \u0027undo\u0027"},{"line_number":260,"context_line":"                        actions_to_perform.append(action_info)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"        unique_ordered_actions \u003d OrderedDict()"},{"line_number":263,"context_line":"        for action in actions_to_perform:"},{"line_number":264,"context_line":"            id_ \u003d ScenarioEvaluator._generate_action_id(action.specs)"},{"line_number":265,"context_line":"            unique_ordered_actions[id_] \u003d action"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_530692d0","line":262,"range":{"start_line":262,"start_character":8,"end_line":262,"end_character":30},"in_reply_to":"3f4b6375_1ec61669","updated":"2017-10-22 06:34:40.000000000","message":"?","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    def _db_action_to_action_info(self, db_action):"},{"line_number":357,"context_line":"        target \u003d self._entity_graph.get_vertex(db_action.target_vertex_id)"},{"line_number":358,"context_line":"        targets \u003d {\u0027target\u0027: target}"},{"line_number":359,"context_line":"        if db_action.source_vertex_id:"},{"line_number":360,"context_line":"            source \u003d self._entity_graph.get_vertex(db_action.source_vertex_id)"},{"line_number":361,"context_line":"            targets[\u0027source\u0027] \u003d source"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7e94ea44","line":358,"range":{"start_line":358,"start_character":19,"end_line":358,"end_character":27},"updated":"2017-10-19 13:38:32.000000000","message":"Please use a constant","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        targets \u003d {\u0027target\u0027: target}"},{"line_number":359,"context_line":"        if db_action.source_vertex_id:"},{"line_number":360,"context_line":"            source \u003d self._entity_graph.get_vertex(db_action.source_vertex_id)"},{"line_number":361,"context_line":"            targets[\u0027source\u0027] \u003d source"},{"line_number":362,"context_line":"        scenario_action \u003d self._scenario_repo.actions.get(db_action.action_id)"},{"line_number":363,"context_line":"        properties \u003d copy.copy(scenario_action.properties)"},{"line_number":364,"context_line":"        action_specs \u003d ActionSpecs("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3e9e7263","line":361,"range":{"start_line":361,"start_character":20,"end_line":361,"end_character":28},"updated":"2017-10-19 13:38:32.000000000","message":"Same here","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    @staticmethod"},{"line_number":397,"context_line":"    def _action_str(action):"},{"line_number":398,"context_line":"        s \u003d action.specs.targets.get(\u0027source\u0027, {}).get(VProps.VITRAGE_ID, \u0027\u0027)"},{"line_number":399,"context_line":"        t \u003d action.specs.targets.get(\u0027target\u0027, {}).get(VProps.VITRAGE_ID, \u0027\u0027)"},{"line_number":400,"context_line":"        return \u0027%s %s \\\u0027%s\\\u0027 targets (%s,%s)\u0027 % (action.mode.upper(),"},{"line_number":401,"context_line":"                                                 action.specs.type,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_be838204","line":398,"range":{"start_line":398,"start_character":37,"end_line":398,"end_character":45},"updated":"2017-10-19 13:38:32.000000000","message":"And here","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":396,"context_line":"    @staticmethod"},{"line_number":397,"context_line":"    def _action_str(action):"},{"line_number":398,"context_line":"        s \u003d action.specs.targets.get(\u0027source\u0027, {}).get(VProps.VITRAGE_ID, \u0027\u0027)"},{"line_number":399,"context_line":"        t \u003d action.specs.targets.get(\u0027target\u0027, {}).get(VProps.VITRAGE_ID, \u0027\u0027)"},{"line_number":400,"context_line":"        return \u0027%s %s \\\u0027%s\\\u0027 targets (%s,%s)\u0027 % (action.mode.upper(),"},{"line_number":401,"context_line":"                                                 action.specs.type,"},{"line_number":402,"context_line":"                                                 action.action_id, s, t)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_5e7a4e24","line":399,"range":{"start_line":399,"start_character":37,"end_line":399,"end_character":45},"updated":"2017-10-19 13:38:32.000000000","message":"And here","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":429,"context_line":""},{"line_number":430,"context_line":"    def calc_do_action(self, action_info):"},{"line_number":431,"context_line":"        exists \u003d False"},{"line_number":432,"context_line":"        active_actions \u003d self._get_similar_actions(action_info)"},{"line_number":433,"context_line":"        for a in active_actions:"},{"line_number":434,"context_line":"            if a.action_id \u003d\u003d action_info.action_id \\"},{"line_number":435,"context_line":"                    and a.trigger \u003d\u003d action_info.trigger_id:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_dee19ed2","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":22},"updated":"2017-10-19 13:38:32.000000000","message":"The entire class is called ActiveActions, so I think this name is confusing. How about similar_actions?","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":430,"context_line":"    def calc_do_action(self, action_info):"},{"line_number":431,"context_line":"        exists \u003d False"},{"line_number":432,"context_line":"        active_actions \u003d self._get_similar_actions(action_info)"},{"line_number":433,"context_line":"        for a in active_actions:"},{"line_number":434,"context_line":"            if a.action_id \u003d\u003d action_info.action_id \\"},{"line_number":435,"context_line":"                    and a.trigger \u003d\u003d action_info.trigger_id:"},{"line_number":436,"context_line":"                exists \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1ea9767a","line":433,"range":{"start_line":433,"start_character":12,"end_line":433,"end_character":13},"updated":"2017-10-19 13:38:32.000000000","message":"Too short name :-)","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":442,"context_line":""},{"line_number":443,"context_line":"        return self._is_highest_score(active_actions, action_info), exists"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def calc_undo_action(self, action_info):"},{"line_number":446,"context_line":"        active_actions \u003d self._get_similar_actions(action_info)"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        LOG.debug(\"DB delete active_actions %s %s\","}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_fe2a1ae5","line":445,"range":{"start_line":445,"start_character":8,"end_line":445,"end_character":24},"updated":"2017-10-19 13:38:32.000000000","message":"Please add a comment about the return values","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":443,"context_line":"        return self._is_highest_score(active_actions, action_info), exists"},{"line_number":444,"context_line":""},{"line_number":445,"context_line":"    def calc_undo_action(self, action_info):"},{"line_number":446,"context_line":"        active_actions \u003d self._get_similar_actions(action_info)"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"        LOG.debug(\"DB delete active_actions %s %s\","},{"line_number":449,"context_line":"                  action_info.action_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7ed06af8","line":446,"range":{"start_line":446,"start_character":8,"end_line":446,"end_character":22},"updated":"2017-10-19 13:38:32.000000000","message":"Same comment as before","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        return is_highest_score, second_score_action"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def _create_db_row(self, action_info):"},{"line_number":461,"context_line":"        source \u003d action_info.specs.targets.get(\u0027source\u0027, {})"},{"line_number":462,"context_line":"        target \u003d action_info.specs.targets.get(\u0027target\u0027, {})"},{"line_number":463,"context_line":"        action_score \u003d self._action_tools[action_info.specs.type].\\"},{"line_number":464,"context_line":"            get_score(action_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_9e39e642","line":461,"range":{"start_line":461,"start_character":47,"end_line":461,"end_character":55},"updated":"2017-10-19 13:38:32.000000000","message":"Should be a constant","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":459,"context_line":""},{"line_number":460,"context_line":"    def _create_db_row(self, action_info):"},{"line_number":461,"context_line":"        source \u003d action_info.specs.targets.get(\u0027source\u0027, {})"},{"line_number":462,"context_line":"        target \u003d action_info.specs.targets.get(\u0027target\u0027, {})"},{"line_number":463,"context_line":"        action_score \u003d self._action_tools[action_info.specs.type].\\"},{"line_number":464,"context_line":"            get_score(action_info)"},{"line_number":465,"context_line":"        extra_info \u003d self._action_tools[action_info.specs.type].\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7e3e2a2a","line":462,"range":{"start_line":462,"start_character":47,"end_line":462,"end_character":55},"updated":"2017-10-19 13:38:32.000000000","message":"Should be a constant","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            score\u003daction_score)"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def _get_similar_actions(self, action_info):"},{"line_number":477,"context_line":"        source \u003d action_info.specs.targets.get(\u0027source\u0027, {})"},{"line_number":478,"context_line":"        target \u003d action_info.specs.targets.get(\u0027target\u0027, {})"},{"line_number":479,"context_line":"        extra_info \u003d self._action_tools[action_info.specs.type].get_extra_info("},{"line_number":480,"context_line":"            action_info.specs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7e274a14","line":477,"range":{"start_line":477,"start_character":47,"end_line":477,"end_character":55},"updated":"2017-10-19 13:38:32.000000000","message":"Should be a constant","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def _get_similar_actions(self, action_info):"},{"line_number":477,"context_line":"        source \u003d action_info.specs.targets.get(\u0027source\u0027, {})"},{"line_number":478,"context_line":"        target \u003d action_info.specs.targets.get(\u0027target\u0027, {})"},{"line_number":479,"context_line":"        extra_info \u003d self._action_tools[action_info.specs.type].get_extra_info("},{"line_number":480,"context_line":"            action_info.specs)"},{"line_number":481,"context_line":"        return self._db.active_actions.query("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3e21d2fc","line":478,"range":{"start_line":478,"start_character":47,"end_line":478,"end_character":55},"updated":"2017-10-19 13:38:32.000000000","message":"Should be a constant","commit_id":"007997bb4899de057cbb930ada891812a752783b"}],"vitrage/evaluator/scenario_repository.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"51acdac2bb1b34a085a12d4c4acbd67d4227ecee","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            scenarios.extend(tuple_list)"},{"line_number":241,"context_line":"        for tuple_list in self.entity_scenarios.values():"},{"line_number":242,"context_line":"            scenarios.extend(tuple_list)"},{"line_number":243,"context_line":"        scenarios \u003d [s for (e, s) in scenarios]"},{"line_number":244,"context_line":"        actions \u003d {}"},{"line_number":245,"context_line":"        for s in scenarios:"},{"line_number":246,"context_line":"            for a in s.actions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_68a2f49c","line":243,"range":{"start_line":243,"start_character":20,"end_line":243,"end_character":47},"updated":"2017-10-19 12:26:39.000000000","message":"scenarios_val \u003d itertools.chain(\n                      self.relationship_scenarios.values(),\n                      self.entity_scenarios.values()\n)\n\nscenarios \u003d (s for _, s in itertools.chain(*scenarios_val))\n\nactions \u003d (s.actions for s in scenarios)\n\nreturn {a.id:a for a in actions}","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            scenarios.extend(tuple_list)"},{"line_number":241,"context_line":"        for tuple_list in self.entity_scenarios.values():"},{"line_number":242,"context_line":"            scenarios.extend(tuple_list)"},{"line_number":243,"context_line":"        scenarios \u003d [s for (e, s) in scenarios]"},{"line_number":244,"context_line":"        actions \u003d {}"},{"line_number":245,"context_line":"        for s in scenarios:"},{"line_number":246,"context_line":"            for a in s.actions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_7e6cea35","line":243,"range":{"start_line":243,"start_character":20,"end_line":243,"end_character":47},"in_reply_to":"3f4b6375_68a2f49c","updated":"2017-10-19 13:38:32.000000000","message":"Done","commit_id":"007997bb4899de057cbb930ada891812a752783b"}],"vitrage/storage/impl_sqlalchemy.py":[{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"51acdac2bb1b34a085a12d4c4acbd67d4227ecee","unresolved":false,"context_lines":[{"line_number":94,"context_line":"              trigger\u003dNone,"},{"line_number":95,"context_line":"              ):"},{"line_number":96,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":97,"context_line":"        q \u003d session.query(models.ActiveAction)"},{"line_number":98,"context_line":"        if action_type is not None:"},{"line_number":99,"context_line":"            q \u003d q.filter(models.ActiveAction.action_type \u003d\u003d action_type)"},{"line_number":100,"context_line":"        if extra_info is not None:"},{"line_number":101,"context_line":"            q \u003d q.filter(models.ActiveAction.extra_info \u003d\u003d extra_info)"},{"line_number":102,"context_line":"        if source_vertex_id is not None:"},{"line_number":103,"context_line":"            q \u003d q.filter("},{"line_number":104,"context_line":"                models.ActiveAction.source_vertex_id \u003d\u003d source_vertex_id)"},{"line_number":105,"context_line":"        if target_vertex_id is not None:"},{"line_number":106,"context_line":"            q \u003d q.filter("},{"line_number":107,"context_line":"                models.ActiveAction.target_vertex_id \u003d\u003d target_vertex_id)"},{"line_number":108,"context_line":"        if action_id is not None:"},{"line_number":109,"context_line":"            q \u003d q.filter(models.ActiveAction.action_id \u003d\u003d action_id)"},{"line_number":110,"context_line":"        if score is not None:"},{"line_number":111,"context_line":"            q \u003d q.filter(models.ActiveAction.score \u003d\u003d score)"},{"line_number":112,"context_line":"        if trigger is not None:"},{"line_number":113,"context_line":"            q \u003d q.filter(models.ActiveAction.trigger \u003d\u003d trigger)"},{"line_number":114,"context_line":"        query_result \u003d q.all()"},{"line_number":115,"context_line":"        return query_result"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_68031444","line":113,"range":{"start_line":97,"start_character":8,"end_line":113,"end_character":64},"updated":"2017-10-19 12:26:39.000000000","message":"simplify","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"4ed8f0f1ecedb572cd40f1818f4584f0c9d89250","unresolved":false,"context_lines":[{"line_number":94,"context_line":"              trigger\u003dNone,"},{"line_number":95,"context_line":"              ):"},{"line_number":96,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":97,"context_line":"        q \u003d session.query(models.ActiveAction)"},{"line_number":98,"context_line":"        if action_type is not None:"},{"line_number":99,"context_line":"            q \u003d q.filter(models.ActiveAction.action_type \u003d\u003d action_type)"},{"line_number":100,"context_line":"        if extra_info is not None:"},{"line_number":101,"context_line":"            q \u003d q.filter(models.ActiveAction.extra_info \u003d\u003d extra_info)"},{"line_number":102,"context_line":"        if source_vertex_id is not None:"},{"line_number":103,"context_line":"            q \u003d q.filter("},{"line_number":104,"context_line":"                models.ActiveAction.source_vertex_id \u003d\u003d source_vertex_id)"},{"line_number":105,"context_line":"        if target_vertex_id is not None:"},{"line_number":106,"context_line":"            q \u003d q.filter("},{"line_number":107,"context_line":"                models.ActiveAction.target_vertex_id \u003d\u003d target_vertex_id)"},{"line_number":108,"context_line":"        if action_id is not None:"},{"line_number":109,"context_line":"            q \u003d q.filter(models.ActiveAction.action_id \u003d\u003d action_id)"},{"line_number":110,"context_line":"        if score is not None:"},{"line_number":111,"context_line":"            q \u003d q.filter(models.ActiveAction.score \u003d\u003d score)"},{"line_number":112,"context_line":"        if trigger is not None:"},{"line_number":113,"context_line":"            q \u003d q.filter(models.ActiveAction.trigger \u003d\u003d trigger)"},{"line_number":114,"context_line":"        query_result \u003d q.all()"},{"line_number":115,"context_line":"        return query_result"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_fdba1ddc","line":113,"range":{"start_line":97,"start_character":8,"end_line":113,"end_character":64},"in_reply_to":"3f4b6375_03d2415d","updated":"2017-10-19 17:09:30.000000000","message":"Done","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"a21d2932076b545fdd2f89a576cbdc290a62e729","unresolved":false,"context_lines":[{"line_number":94,"context_line":"              trigger\u003dNone,"},{"line_number":95,"context_line":"              ):"},{"line_number":96,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":97,"context_line":"        q \u003d session.query(models.ActiveAction)"},{"line_number":98,"context_line":"        if action_type is not None:"},{"line_number":99,"context_line":"            q \u003d q.filter(models.ActiveAction.action_type \u003d\u003d action_type)"},{"line_number":100,"context_line":"        if extra_info is not None:"},{"line_number":101,"context_line":"            q \u003d q.filter(models.ActiveAction.extra_info \u003d\u003d extra_info)"},{"line_number":102,"context_line":"        if source_vertex_id is not None:"},{"line_number":103,"context_line":"            q \u003d q.filter("},{"line_number":104,"context_line":"                models.ActiveAction.source_vertex_id \u003d\u003d source_vertex_id)"},{"line_number":105,"context_line":"        if target_vertex_id is not None:"},{"line_number":106,"context_line":"            q \u003d q.filter("},{"line_number":107,"context_line":"                models.ActiveAction.target_vertex_id \u003d\u003d target_vertex_id)"},{"line_number":108,"context_line":"        if action_id is not None:"},{"line_number":109,"context_line":"            q \u003d q.filter(models.ActiveAction.action_id \u003d\u003d action_id)"},{"line_number":110,"context_line":"        if score is not None:"},{"line_number":111,"context_line":"            q \u003d q.filter(models.ActiveAction.score \u003d\u003d score)"},{"line_number":112,"context_line":"        if trigger is not None:"},{"line_number":113,"context_line":"            q \u003d q.filter(models.ActiveAction.trigger \u003d\u003d trigger)"},{"line_number":114,"context_line":"        query_result \u003d q.all()"},{"line_number":115,"context_line":"        return query_result"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_03d2415d","line":113,"range":{"start_line":97,"start_character":8,"end_line":113,"end_character":64},"in_reply_to":"3f4b6375_68031444","updated":"2017-10-19 12:45:55.000000000","message":"maybe write a utility func something like this\n\ndef query_filter(model, *args):\n     session \u003d self._engine_facade.get_session()\n     q \u003d session.query(model)\n     for arg in args:\n       if arg is not None:\n         query \u003d query.filter(getattr(model, arg) \u003d\u003d arg)\n     return query\n\nand then call it","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"51acdac2bb1b34a085a12d4c4acbd67d4227ecee","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":127,"context_line":"        with session.begin():"},{"line_number":128,"context_line":"            q \u003d session.query(models.ActiveAction)"},{"line_number":129,"context_line":"            if action_type is not None:"},{"line_number":130,"context_line":"                q \u003d q.filter(models.ActiveAction.action_type \u003d\u003d action_type)"},{"line_number":131,"context_line":"            if extra_info is not None:"},{"line_number":132,"context_line":"                q \u003d q.filter(models.ActiveAction.extra_info \u003d\u003d extra_info)"},{"line_number":133,"context_line":"            if source_vertex_id is not None:"},{"line_number":134,"context_line":"                q \u003d q.filter("},{"line_number":135,"context_line":"                    models.ActiveAction.source_vertex_id \u003d\u003d source_vertex_id)"},{"line_number":136,"context_line":"            if target_vertex_id is not None:"},{"line_number":137,"context_line":"                q \u003d q.filter("},{"line_number":138,"context_line":"                    models.ActiveAction.target_vertex_id \u003d\u003d target_vertex_id)"},{"line_number":139,"context_line":"            if action_id is not None:"},{"line_number":140,"context_line":"                q \u003d q.filter(models.ActiveAction.action_id \u003d\u003d action_id)"},{"line_number":141,"context_line":"            if score is not None:"},{"line_number":142,"context_line":"                q \u003d q.filter(models.ActiveAction.score \u003d\u003d score)"},{"line_number":143,"context_line":"            if trigger is not None:"},{"line_number":144,"context_line":"                q \u003d q.filter(models.ActiveAction.trigger \u003d\u003d trigger)"},{"line_number":145,"context_line":"            q.delete()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_28fd1c3a","line":144,"range":{"start_line":129,"start_character":12,"end_line":144,"end_character":68},"updated":"2017-10-19 12:26:39.000000000","message":"simplify","commit_id":"007997bb4899de057cbb930ada891812a752783b"},{"author":{"_account_id":19134,"name":"Eyal","email":"eyalb1@gmail.com","username":"eyalb"},"change_message_id":"a21d2932076b545fdd2f89a576cbdc290a62e729","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        session \u003d self._engine_facade.get_session()"},{"line_number":127,"context_line":"        with session.begin():"},{"line_number":128,"context_line":"            q \u003d session.query(models.ActiveAction)"},{"line_number":129,"context_line":"            if action_type is not None:"},{"line_number":130,"context_line":"                q \u003d q.filter(models.ActiveAction.action_type \u003d\u003d action_type)"},{"line_number":131,"context_line":"            if extra_info is not None:"},{"line_number":132,"context_line":"                q \u003d q.filter(models.ActiveAction.extra_info \u003d\u003d extra_info)"},{"line_number":133,"context_line":"            if source_vertex_id is not None:"},{"line_number":134,"context_line":"                q \u003d q.filter("},{"line_number":135,"context_line":"                    models.ActiveAction.source_vertex_id \u003d\u003d source_vertex_id)"},{"line_number":136,"context_line":"            if target_vertex_id is not None:"},{"line_number":137,"context_line":"                q \u003d q.filter("},{"line_number":138,"context_line":"                    models.ActiveAction.target_vertex_id \u003d\u003d target_vertex_id)"},{"line_number":139,"context_line":"            if action_id is not None:"},{"line_number":140,"context_line":"                q \u003d q.filter(models.ActiveAction.action_id \u003d\u003d action_id)"},{"line_number":141,"context_line":"            if score is not None:"},{"line_number":142,"context_line":"                q \u003d q.filter(models.ActiveAction.score \u003d\u003d score)"},{"line_number":143,"context_line":"            if trigger is not None:"},{"line_number":144,"context_line":"                q \u003d q.filter(models.ActiveAction.trigger \u003d\u003d trigger)"},{"line_number":145,"context_line":"            q.delete()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_c3cb09a3","line":144,"range":{"start_line":129,"start_character":12,"end_line":144,"end_character":68},"in_reply_to":"3f4b6375_28fd1c3a","updated":"2017-10-19 12:45:55.000000000","message":"as above","commit_id":"007997bb4899de057cbb930ada891812a752783b"}],"vitrage/tests/functional/evaluator/test_scenario_evaluator.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"6c92cd4715526d246b6a4c654bc6beb08dd51ee5","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        cls.conf.register_opts(cls.PROCESSOR_OPTS, group\u003d\u0027entity_graph\u0027)"},{"line_number":81,"context_line":"        cls.conf.register_opts(cls.EVALUATOR_OPTS, group\u003d\u0027evaluator\u0027)"},{"line_number":82,"context_line":"        cls.conf.register_opts(cls.DATASOURCES_OPTS, group\u003d\u0027datasources\u0027)"},{"line_number":83,"context_line":"        cls.conf.register_opts(database_opts, group\u003d\u0027database\u0027)"},{"line_number":84,"context_line":"        cls.conf.set_override(\u0027connection\u0027, \u0027sqlite:///test.db\u0027,"},{"line_number":85,"context_line":"                              group\u003d\u0027database\u0027)"},{"line_number":86,"context_line":"        cls._db \u003d storage.get_connection_from_config(cls.conf)"},{"line_number":87,"context_line":"        engine \u003d cls._db._engine_facade.get_engine()"},{"line_number":88,"context_line":"        models.Base.metadata.create_all(engine)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        TestScenarioEvaluator.load_datasources(cls.conf)"},{"line_number":91,"context_line":"        cls.scenario_repository \u003d ScenarioRepository(cls.conf)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1ee1769b","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":47},"updated":"2017-10-19 13:38:32.000000000","message":"If this code is common to a few tests, maybe you should move it to a base class","commit_id":"007997bb4899de057cbb930ada891812a752783b"}]}
