)]}'
{"oslo/db/sqlalchemy/test_base.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"18ffdc6f5a4215b39a89f4efa689857c1cdf29f9","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                    args \u003d (f.__qualname__, \u0027 \u0027.join(dialects),"},{"line_number":96,"context_line":"                            self.engine.name)"},{"line_number":97,"context_line":"                except AttributeError:"},{"line_number":98,"context_line":"                    args \u003d (f.__name__, \u0027 \u0027.join(dialects), self.engine.name)"},{"line_number":99,"context_line":"                self.skip(msg % args)"},{"line_number":100,"context_line":"            else:"},{"line_number":101,"context_line":"                return f(self)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_d849b761","line":98,"updated":"2014-09-18 18:19:05.000000000","message":"this has to be generalized into a util function of some kind, we can\u0027t have try/except AttributeError everywhere we\u0027d prefer __qualname__.   I\u0027d mostly prefer this be part of oslo.utils, in fact, as a set of extensions to \"six\" (oslo.utils.py3k or some such).","commit_id":"f5f991096ee9771b0dc596f1c4e8848c18ad6cc1"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"654920aea383599170ea76f98b2090ca8a72d3ff","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                    args \u003d (f.__qualname__, \u0027 \u0027.join(dialects),"},{"line_number":96,"context_line":"                            self.engine.name)"},{"line_number":97,"context_line":"                except AttributeError:"},{"line_number":98,"context_line":"                    args \u003d (f.__name__, \u0027 \u0027.join(dialects), self.engine.name)"},{"line_number":99,"context_line":"                self.skip(msg % args)"},{"line_number":100,"context_line":"            else:"},{"line_number":101,"context_line":"                return f(self)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_db60d1d1","line":98,"in_reply_to":"fa98f980_38c9e325","updated":"2014-09-18 18:49:36.000000000","message":"Generalized @ https://review.openstack.org/#/c/122495/","commit_id":"f5f991096ee9771b0dc596f1c4e8848c18ad6cc1"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"eff5c9a9c9c035991f3d619c2cea1e9e2f051da3","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                    args \u003d (f.__qualname__, \u0027 \u0027.join(dialects),"},{"line_number":96,"context_line":"                            self.engine.name)"},{"line_number":97,"context_line":"                except AttributeError:"},{"line_number":98,"context_line":"                    args \u003d (f.__name__, \u0027 \u0027.join(dialects), self.engine.name)"},{"line_number":99,"context_line":"                self.skip(msg % args)"},{"line_number":100,"context_line":"            else:"},{"line_number":101,"context_line":"                return f(self)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_38c9e325","line":98,"in_reply_to":"fa98f980_d849b761","updated":"2014-09-18 18:34:45.000000000","message":"Sure, I\u0027d be ok with that and would be fine with sucking an implementation that is much better into oslo.utils.\n\nFor example the one that is created @ https://github.com/openstack/taskflow/blob/master/taskflow/utils/reflection.py (that whole module actually can probably be moved to oslo.utils).","commit_id":"f5f991096ee9771b0dc596f1c4e8848c18ad6cc1"}]}
