)]}'
{"oslo_messaging/rpc/dispatcher.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"63c6ea0567a90bdda415bcd238e3baf13dcd6ded","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            if not target:"},{"line_number":133,"context_line":"                target \u003d self._default_target"},{"line_number":134,"context_line":"            endpoint_methods \u003d []"},{"line_number":135,"context_line":"            for _attr_name, attr in inspect.getmembers(endpoint):"},{"line_number":136,"context_line":"                if six.callable(attr):"},{"line_number":137,"context_line":"                    # This can pick up more attributes than just methods,"},{"line_number":138,"context_line":"                    # but the existing code does this, so then do we ..."}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_b62231a1","line":135,"updated":"2016-03-18 15:37:09.000000000","message":"Apparently getmembers takes a predicate for filtering so the six.callable check can be rolled up into the for loop.","commit_id":"537ef2197ba283f023241e107ba07bfe989bd114"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"63c6ea0567a90bdda415bcd238e3baf13dcd6ded","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                target \u003d self._default_target"},{"line_number":134,"context_line":"            endpoint_methods \u003d []"},{"line_number":135,"context_line":"            for _attr_name, attr in inspect.getmembers(endpoint):"},{"line_number":136,"context_line":"                if six.callable(attr):"},{"line_number":137,"context_line":"                    # This can pick up more attributes than just methods,"},{"line_number":138,"context_line":"                    # but the existing code does this, so then do we ..."},{"line_number":139,"context_line":"                    endpoint_methods.append((attr, get_signature(attr)))"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af94dfe_3646214f","line":136,"updated":"2016-03-18 15:37:09.000000000","message":"target passes this check in my experience. Is it intended for it to be included in endpoint_methods?","commit_id":"537ef2197ba283f023241e107ba07bfe989bd114"}]}
