)]}'
{"vitrage/entity_graph/initialization_status.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"10611ae03fd55ce7859ff36dc6ab093bac4f98ac","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class InitializationStatus(object):"},{"line_number":29,"context_line":"    STARTED \u003d \u0027started\u0027"},{"line_number":30,"context_line":"    RECEIVED_ALL_END_MESSAGES \u003d \u0027received_all_end_messages\u0027"},{"line_number":31,"context_line":"    FINISHED \u003d \u0027finished\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_e1c23159","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":26},"updated":"2017-07-04 15:13:35.000000000","message":"The name of the class no longer fits its content. Maybe you should rename it to \"Initializer\" or something similar","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"10611ae03fd55ce7859ff36dc6ab093bac4f98ac","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    def _wait_for_action(self, function):"},{"line_number":77,"context_line":"        count_retries \u003d 0"},{"line_number":78,"context_line":"        while True:"},{"line_number":79,"context_line":"            if count_retries \u003e\u003d \\"},{"line_number":80,"context_line":"                    self.conf.consistency.initialization_max_retries:"},{"line_number":81,"context_line":"                return False"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"            if function():"},{"line_number":84,"context_line":"                return True"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"            count_retries +\u003d 1"},{"line_number":87,"context_line":"            time.sleep(self.conf.consistency.initialization_interval)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_2116e9f2","line":84,"range":{"start_line":79,"start_character":0,"end_line":84,"end_character":27},"updated":"2017-07-04 15:13:35.000000000","message":"I think you should check the function() first, and only then check if you reached the max retries","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"10611ae03fd55ce7859ff36dc6ab093bac4f98ac","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def _push_events_to_queue(self, vertices, action, out_queue):"},{"line_number":103,"context_line":"        for vertex in vertices:"},{"line_number":104,"context_line":"            event \u003d {"},{"line_number":105,"context_line":"                DSProps.ENTITY_TYPE: CONSISTENCY_DATASOURCE,"},{"line_number":106,"context_line":"                DSProps.DATASOURCE_ACTION: DatasourceAction.UPDATE,"},{"line_number":107,"context_line":"                DSProps.SAMPLE_DATE: str(utcnow()),"},{"line_number":108,"context_line":"                DSProps.EVENT_TYPE: action,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_41ee85ed","line":105,"range":{"start_line":105,"start_character":37,"end_line":105,"end_character":59},"updated":"2017-07-04 15:13:35.000000000","message":"What is the meaning of this \"datasource\"? it is no longer part of the consistency anyway","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"11f104f7ad98d8df4005f031298ec955c628b36f","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    def _push_events_to_queue(self, vertices, action, out_queue):"},{"line_number":103,"context_line":"        for vertex in vertices:"},{"line_number":104,"context_line":"            event \u003d {"},{"line_number":105,"context_line":"                DSProps.ENTITY_TYPE: CONSISTENCY_DATASOURCE,"},{"line_number":106,"context_line":"                DSProps.DATASOURCE_ACTION: DatasourceAction.UPDATE,"},{"line_number":107,"context_line":"                DSProps.SAMPLE_DATE: str(utcnow()),"},{"line_number":108,"context_line":"                DSProps.EVENT_TYPE: action,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f1a1f67_85811bfe","line":105,"range":{"start_line":105,"start_character":37,"end_line":105,"end_character":59},"in_reply_to":"3f1d235d_41ee85ed","updated":"2017-07-18 12:15:04.000000000","message":"This is existing code moved from consistency_enforcer","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"}],"vitrage/entity_graph/processor/processor.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"2dbba50c51a79027c15f3f1b12b9ec22edad6a1c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.state_manager \u003d DatasourceInfoMapper(self.conf)"},{"line_number":44,"context_line":"        self._initialize_events_actions()"},{"line_number":45,"context_line":"        self.initialization_status \u003d initialization_status"},{"line_number":46,"context_line":"        self.entity_graph \u003d e_graph"},{"line_number":47,"context_line":"        self._notifier \u003d GraphNotifier(conf)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def process_event(self, event):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_22e495e0","line":46,"range":{"start_line":46,"start_character":27,"end_line":46,"end_character":35},"updated":"2017-07-05 09:09:52.000000000","message":"Why did you remove the check that was done here?","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"142ca7f09878cd35c05e08ddc90f03bedf1aa5f1","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.state_manager \u003d DatasourceInfoMapper(self.conf)"},{"line_number":44,"context_line":"        self._initialize_events_actions()"},{"line_number":45,"context_line":"        self.initialization_status \u003d initialization_status"},{"line_number":46,"context_line":"        self.entity_graph \u003d e_graph"},{"line_number":47,"context_line":"        self._notifier \u003d GraphNotifier(conf)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def process_event(self, event):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_bc2fa586","line":46,"range":{"start_line":46,"start_character":27,"end_line":46,"end_character":35},"in_reply_to":"3f1d235d_22e495e0","updated":"2017-07-05 11:02:19.000000000","message":"It is no longer needed, tests create the graph on their own now. This was only used in tests.","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"2dbba50c51a79027c15f3f1b12b9ec22edad6a1c","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    def handle_end_message(self, vertex, neighbors):"},{"line_number":221,"context_line":"        self.initialization_status.handle_end_message(vertex)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def on_recieved_all_end_messages(self):"},{"line_number":224,"context_line":"        if self._notifier and self._notifier.enabled:"},{"line_number":225,"context_line":"            self.entity_graph.subscribe(self._notifier.notify_when_applicable)"},{"line_number":226,"context_line":"            LOG.info(\u0027Graph notifications subscription added\u0027)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    def _update_neighbors(self, vertex, neighbors):"},{"line_number":229,"context_line":"        \"\"\"Updates vertices neighbor connections"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_a2f8a57a","line":226,"range":{"start_line":223,"start_character":4,"end_line":226,"end_character":62},"updated":"2017-07-05 09:09:52.000000000","message":"who is using this method?","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19184,"name":"Idan Hefetz","email":"idan.hefetz@nokia.com","username":"idan-hefetz"},"change_message_id":"142ca7f09878cd35c05e08ddc90f03bedf1aa5f1","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    def handle_end_message(self, vertex, neighbors):"},{"line_number":221,"context_line":"        self.initialization_status.handle_end_message(vertex)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    def on_recieved_all_end_messages(self):"},{"line_number":224,"context_line":"        if self._notifier and self._notifier.enabled:"},{"line_number":225,"context_line":"            self.entity_graph.subscribe(self._notifier.notify_when_applicable)"},{"line_number":226,"context_line":"            LOG.info(\u0027Graph notifications subscription added\u0027)"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    def _update_neighbors(self, vertex, neighbors):"},{"line_number":229,"context_line":"        \"\"\"Updates vertices neighbor connections"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_7ca10df8","line":226,"range":{"start_line":223,"start_character":4,"end_line":226,"end_character":62},"in_reply_to":"3f1d235d_a2f8a57a","updated":"2017-07-05 11:02:19.000000000","message":"it is called from initializing_process","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"}],"vitrage/evaluator/scenario_evaluator.py":[{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"2dbba50c51a79027c15f3f1b12b9ec22edad6a1c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from collections import namedtuple"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_log import log"},{"line_number":18,"context_line":"import time"},{"line_number":19,"context_line":"from vitrage.datasources.listener_service import defaultdict"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from vitrage.common.constants import EdgeProperties as EProps"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_c22961e6","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":11},"updated":"2017-07-05 09:09:52.000000000","message":"move this to the first block of imports","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"},{"author":{"_account_id":19122,"name":"Alexey Weyl","email":"aloshaweyl@gmail.com","username":"alexey_weyl"},"change_message_id":"2dbba50c51a79027c15f3f1b12b9ec22edad6a1c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    def scenario_repo(self, scenario_repo):"},{"line_number":71,"context_line":"        self._scenario_repo \u003d scenario_repo"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def run_evaluator(self):"},{"line_number":74,"context_line":"        self.enabled \u003d True"},{"line_number":75,"context_line":"        vertices \u003d self._entity_graph.get_vertices()"},{"line_number":76,"context_line":"        start_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_e25e9d74","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":21},"updated":"2017-07-05 09:09:52.000000000","message":"call it:\nrun_evaluator_on_all_vertices_in_graph","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"}],"vitrage/tests/unit/entity_graph/base.py":[{"author":{"_account_id":19159,"name":"Ifat Afek","email":"ifat.afek@nokia.com","username":"ifat_afek"},"change_message_id":"10611ae03fd55ce7859ff36dc6ab093bac4f98ac","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        events \u003d self._create_mock_events()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        if not processor:"},{"line_number":78,"context_line":"            e_graph \u003d NXGraph(\"Entity Graph\", uuid\u003dFalse)"},{"line_number":79,"context_line":"            init \u003d InitializationStatus(conf)"},{"line_number":80,"context_line":"            processor \u003d proc.Processor(conf, init, e_graph)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        for event in events:"},{"line_number":83,"context_line":"            processor.process_event(event)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_c1af357b","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":59},"updated":"2017-07-04 15:13:35.000000000","message":"I think this should be a common function that will be used by all the derived classes","commit_id":"4fb6d23c30514ae48c1f194a730f371dfa62c4a0"}]}
