)]}'
{"oslo_policy/policy.py":[{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"44fad7ec22196b20893f5c647aa652c66716a4ea","unresolved":false,"context_lines":[{"line_number":912,"context_line":"        # checked for a key called \u0027system\u0027 in creds. The oslo.context library"},{"line_number":913,"context_line":"        # uses `system_scope` instead, and the compatibility between"},{"line_number":914,"context_line":"        # oslo.policy and oslo.context was an afterthought. We\u0027ll have to"},{"line_number":915,"context_line":"        # support services who\u0027ve been setting creds[\u0027system\u0027], but we can do"},{"line_number":916,"context_line":"        # that by making sure we populate it with what\u0027s in the context object"},{"line_number":917,"context_line":"        # if it has a system_scope attribute."},{"line_number":918,"context_line":"        if context.system_scope:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_44d36160","line":915,"updated":"2018-06-29 14:47:59.000000000","message":"Has anyone actually done this yet?","commit_id":"652624a5b58790abfd564c3980536ffbbd7e1b05"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ee36f749a5ce4a7cc0907ffd9d6b23951ac30e15","unresolved":false,"context_lines":[{"line_number":912,"context_line":"        # checked for a key called \u0027system\u0027 in creds. The oslo.context library"},{"line_number":913,"context_line":"        # uses `system_scope` instead, and the compatibility between"},{"line_number":914,"context_line":"        # oslo.policy and oslo.context was an afterthought. We\u0027ll have to"},{"line_number":915,"context_line":"        # support services who\u0027ve been setting creds[\u0027system\u0027], but we can do"},{"line_number":916,"context_line":"        # that by making sure we populate it with what\u0027s in the context object"},{"line_number":917,"context_line":"        # if it has a system_scope attribute."},{"line_number":918,"context_line":"        if context.system_scope:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_480a7479","line":915,"in_reply_to":"5f7c97a3_44d36160","updated":"2018-07-02 13:40:23.000000000","message":"It\u0027s very likely that no one has yet, just with how new the system scope stuff is and the concepts of scope_types are pretty new for folks.","commit_id":"652624a5b58790abfd564c3980536ffbbd7e1b05"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"9e6a4051750d886dd2246700c5e7214df7df07f0","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        # doesn\u0027t actually return a dictionary, it\u0027s a subclass of"},{"line_number":826,"context_line":"        # collections.MutableMapping, which behaves like a dictionary but"},{"line_number":827,"context_line":"        # doesn\u0027t pass the type check."},{"line_number":828,"context_line":"        elif not isinstance(creds, dict) or not isinstance("},{"line_number":829,"context_line":"                creds, collections.MutableMapping):"},{"line_number":830,"context_line":"            msg \u003d ("},{"line_number":831,"context_line":"                \u0027Expected type oslo_context.context.RequestContext, dict, or  \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b8ed1a25","line":828,"updated":"2018-07-09 15:28:49.000000000","message":"This should be \"if not (A or B)\" but it is \"if not A or not B\" so since the object is not both types it fails.","commit_id":"49973e5b8caf13ccbd240eebff3cade8a6e8b43f"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"1df3681e6f149f3120fbc9d1706f077deda61897","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        # doesn\u0027t actually return a dictionary, it\u0027s a subclass of"},{"line_number":826,"context_line":"        # collections.MutableMapping, which behaves like a dictionary but"},{"line_number":827,"context_line":"        # doesn\u0027t pass the type check."},{"line_number":828,"context_line":"        elif not isinstance(creds, dict) or not isinstance("},{"line_number":829,"context_line":"                creds, collections.MutableMapping):"},{"line_number":830,"context_line":"            msg \u003d ("},{"line_number":831,"context_line":"                \u0027Expected type oslo_context.context.RequestContext, dict, or  \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_38ba6a0a","line":828,"in_reply_to":"5f7c97a3_58dc0670","updated":"2018-07-09 15:31:33.000000000","message":"or, because dict is a subclass of collections.MutableMapping, even:\n\n  elif not isinstance(creds, collections.MutableMapping)\n\nAlthough we would need to test that on python 2.","commit_id":"49973e5b8caf13ccbd240eebff3cade8a6e8b43f"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"863895b4760bd7145097e8b97c41048e838f2791","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        # doesn\u0027t actually return a dictionary, it\u0027s a subclass of"},{"line_number":826,"context_line":"        # collections.MutableMapping, which behaves like a dictionary but"},{"line_number":827,"context_line":"        # doesn\u0027t pass the type check."},{"line_number":828,"context_line":"        elif not isinstance(creds, dict) or not isinstance("},{"line_number":829,"context_line":"                creds, collections.MutableMapping):"},{"line_number":830,"context_line":"            msg \u003d ("},{"line_number":831,"context_line":"                \u0027Expected type oslo_context.context.RequestContext, dict, or  \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b8b0bafe","line":828,"in_reply_to":"5f7c97a3_b8ed1a25","updated":"2018-07-09 15:38:43.000000000","message":"Ah - good catch, Doug. Fixed in the next patch set.","commit_id":"49973e5b8caf13ccbd240eebff3cade8a6e8b43f"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"b35be0269085f81e9a1cbecfe056094e89fdc5df","unresolved":false,"context_lines":[{"line_number":825,"context_line":"        # doesn\u0027t actually return a dictionary, it\u0027s a subclass of"},{"line_number":826,"context_line":"        # collections.MutableMapping, which behaves like a dictionary but"},{"line_number":827,"context_line":"        # doesn\u0027t pass the type check."},{"line_number":828,"context_line":"        elif not isinstance(creds, dict) or not isinstance("},{"line_number":829,"context_line":"                creds, collections.MutableMapping):"},{"line_number":830,"context_line":"            msg \u003d ("},{"line_number":831,"context_line":"                \u0027Expected type oslo_context.context.RequestContext, dict, or  \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_58dc0670","line":828,"in_reply_to":"5f7c97a3_b8ed1a25","updated":"2018-07-09 15:30:10.000000000","message":"This can be rewritten\n\n  elif not isinstance(creds, (dict, collections.MutableMapping)):","commit_id":"49973e5b8caf13ccbd240eebff3cade8a6e8b43f"}]}
