)]}'
{"keystone/catalog/core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            parent_region_id \u003d region_ref.get(\u0027parent_region_id\u0027)"},{"line_number":162,"context_line":"            raise exception.RegionNotFound(region_id\u003dparent_region_id)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # FIXME(lbragstad): The rest of the keystone subsystems pass the"},{"line_number":165,"context_line":"        # original reference to the notification module, not the return value"},{"line_number":166,"context_line":"        # from the backend. Why is regions special and can we make it"},{"line_number":167,"context_line":"        # consistent with the rest of the keystone APIs?"},{"line_number":168,"context_line":"        notifications.Audit.created(self._REGION, ret, initiator)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_481e3e64","line":165,"range":{"start_line":164,"start_character":28,"end_line":165,"end_character":28},"updated":"2016-03-13 21:19:10.000000000","message":"nope, just looks at create role:\n\n  ret \u003d self.driver.create_role(role_id, role)\n  notifications.Audit.created(self._ROLE, ret, initiator)\n\ngetting the value from the backend it probably way safer for update and create -- i believe delete doesn\u0027t return much from the backends most of the time, so you have to perform a get call to find the most recent resource in the backend before deleting it, so you can find the name.","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"}],"keystone/notifications.py":[{"author":{"_account_id":19985,"name":"Ryosuke Mizuno","email":"r-mizuno@rs.jp.nec.com","username":"r-mizuno"},"change_message_id":"1af33a89a85bf64fc79560e335a6976c7049d272","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        :param operation: one of the values from ACTIONS"},{"line_number":116,"context_line":"        :param resource_type: type of resource being affected"},{"line_number":117,"context_line":"        :param resource: dicitonary containing the resource reference"},{"line_number":118,"context_line":"        :param initiator: CADF representation of the user that created the"},{"line_number":119,"context_line":"                          request"},{"line_number":120,"context_line":"        :param public: If True (default), the event will be sent to the"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_9e2b5c30","line":117,"range":{"start_line":117,"start_character":25,"end_line":117,"end_character":35},"updated":"2016-03-14 00:24:42.000000000","message":"nit: dictionary","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    payload \u003d {}"},{"line_number":387,"context_line":"    payload[\u0027resource_info\u0027] \u003d {}"},{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    if resource.get(\u0027user_id\u0027):"},{"line_number":390,"context_line":"        payload[\u0027resource_info\u0027][\u0027user_id\u0027] \u003d resource[\u0027user_id\u0027]"},{"line_number":391,"context_line":"    if resource.get(\u0027consumer_id\u0027):"},{"line_number":392,"context_line":"        payload[\u0027resource_info\u0027][\u0027consumer_id\u0027] \u003d resource[\u0027consumer_id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_c8f36e09","line":389,"range":{"start_line":389,"start_character":4,"end_line":389,"end_character":31},"updated":"2016-03-13 21:19:10.000000000","message":"why user_id? for credentials?","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"    if resource.get(\u0027user_id\u0027):"},{"line_number":390,"context_line":"        payload[\u0027resource_info\u0027][\u0027user_id\u0027] \u003d resource[\u0027user_id\u0027]"},{"line_number":391,"context_line":"    if resource.get(\u0027consumer_id\u0027):"},{"line_number":392,"context_line":"        payload[\u0027resource_info\u0027][\u0027consumer_id\u0027] \u003d resource[\u0027consumer_id\u0027]"},{"line_number":393,"context_line":"    payload[\u0027resource_info\u0027][\u0027project_id\u0027] \u003d resource.get(\u0027project_id\u0027, None)"},{"line_number":394,"context_line":"    if resource.get(\u0027id\u0027):"},{"line_number":395,"context_line":"        payload[\u0027resource_info\u0027] \u003d resource[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_68a05af5","line":392,"range":{"start_line":391,"start_character":4,"end_line":392,"end_character":73},"updated":"2016-03-13 21:19:10.000000000","message":"i don\u0027t think we need a special case for consumer ID; it\u0027ll already be the resource_type + id. good enough.","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":390,"context_line":"        payload[\u0027resource_info\u0027][\u0027user_id\u0027] \u003d resource[\u0027user_id\u0027]"},{"line_number":391,"context_line":"    if resource.get(\u0027consumer_id\u0027):"},{"line_number":392,"context_line":"        payload[\u0027resource_info\u0027][\u0027consumer_id\u0027] \u003d resource[\u0027consumer_id\u0027]"},{"line_number":393,"context_line":"    payload[\u0027resource_info\u0027][\u0027project_id\u0027] \u003d resource.get(\u0027project_id\u0027, None)"},{"line_number":394,"context_line":"    if resource.get(\u0027id\u0027):"},{"line_number":395,"context_line":"        payload[\u0027resource_info\u0027] \u003d resource[\u0027id\u0027]"},{"line_number":396,"context_line":"    if resource.get(\u0027name\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_88e9661d","line":393,"range":{"start_line":393,"start_character":4,"end_line":393,"end_character":77},"updated":"2016-03-13 21:19:10.000000000","message":"we could do this pattern for everything","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":393,"context_line":"    payload[\u0027resource_info\u0027][\u0027project_id\u0027] \u003d resource.get(\u0027project_id\u0027, None)"},{"line_number":394,"context_line":"    if resource.get(\u0027id\u0027):"},{"line_number":395,"context_line":"        payload[\u0027resource_info\u0027] \u003d resource[\u0027id\u0027]"},{"line_number":396,"context_line":"    if resource.get(\u0027name\u0027):"},{"line_number":397,"context_line":"        payload[\u0027resource_name\u0027] \u003d resource[\u0027name\u0027]"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    notify_event_callbacks(SERVICE, resource_type, operation, payload)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_288e5278","line":396,"range":{"start_line":396,"start_character":4,"end_line":396,"end_character":28},"updated":"2016-03-13 21:19:10.000000000","message":"additionally, we *must* check for domain_name / domain_id for users/groups/projects. name is not unique.","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"7e4184c836f247e7253dd503b29169ef525eccb2","unresolved":false,"context_lines":[{"line_number":394,"context_line":"    if resource.get(\u0027id\u0027):"},{"line_number":395,"context_line":"        payload[\u0027resource_info\u0027] \u003d resource[\u0027id\u0027]"},{"line_number":396,"context_line":"    if resource.get(\u0027name\u0027):"},{"line_number":397,"context_line":"        payload[\u0027resource_name\u0027] \u003d resource[\u0027name\u0027]"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    notify_event_callbacks(SERVICE, resource_type, operation, payload)"},{"line_number":400,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_e893caa1","line":397,"range":{"start_line":397,"start_character":8,"end_line":397,"end_character":51},"updated":"2016-03-13 21:19:10.000000000","message":"all the other info is under \"resource_info\"\n\nshould this be [resource_info][resource_name] ?","commit_id":"a46db4607cebe6c8a6aba6c2156b660e4dffa386"}]}
