)]}'
{"oslo_log/helpers.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"6a126e10dab41c6a9c11d3f5dc0e7e7c5945e4f9","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _is_method(obj, method):"},{"line_number":27,"context_line":"    return method.__name__ in dir(obj)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def log_method_call(method):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_0c2f958e","line":27,"updated":"2017-05-22 20:43:19.000000000","message":"Can you use inspect.ismethod() for this test?\n\nhttps://docs.python.org/2/library/inspect.html#inspect.ismethod","commit_id":"8f154a35bc7b6f7a66014a8e15b03c7ffe23259d"},{"author":{"_account_id":15122,"name":"Kiseok Kim","email":"kiseok7@gmail.com","username":"Kiseok"},"change_message_id":"d28e5fc41be47af88385af371ae94bbd657525a9","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _is_method(obj, method):"},{"line_number":27,"context_line":"    return method.__name__ in dir(obj)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def log_method_call(method):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_4d7c3282","line":27,"in_reply_to":"ff0f0b1f_0c2f958e","updated":"2017-05-24 08:04:17.000000000","message":"Thank you for comment.\n\nI could not use simlply like *inspect.ismethod(method)*\nI guess *functools.wraps* decorator seems to make method to function.","commit_id":"8f154a35bc7b6f7a66014a8e15b03c7ffe23259d"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"f4fc77dd734f145a43591444494b24e3b16af4eb","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def _is_method(obj, method):"},{"line_number":28,"context_line":"    return inspect.ismethod(getattr(obj, method.__name__, None))"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def log_method_call(method):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_dbdb4e4c","line":28,"updated":"2017-05-24 16:45:30.000000000","message":"I think I understand the reason for the implementation being this way, based on your comment about funcutils. It would be a good idea to include a comment here in this function, though, for someone looking at the code in the future without access to this gerrit review.","commit_id":"86ea49fbce0320fc12728e11bbd3559d62b99b6b"},{"author":{"_account_id":15122,"name":"Kiseok Kim","email":"kiseok7@gmail.com","username":"Kiseok"},"change_message_id":"4c34625b6c087fcb5bcbcfa74c505e986f3f5a54","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def _is_method(obj, method):"},{"line_number":28,"context_line":"    return inspect.ismethod(getattr(obj, method.__name__, None))"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def log_method_call(method):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_f63deeba","line":28,"in_reply_to":"ff0f0b1f_dbdb4e4c","updated":"2017-05-25 09:37:03.000000000","message":"Thank you.","commit_id":"86ea49fbce0320fc12728e11bbd3559d62b99b6b"}]}
