)]}'
{"oslo_context/context.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"487e7a3d93e46ca9b3ff62f9b126312fdcbf392b","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    user_idt_format \u003d u\u0027{user} {tenant} {domain} {user_domain} {p_domain}\u0027"},{"line_number":183,"context_line":"    # Can be overridden in subclasses to specify extra keys that should be"},{"line_number":184,"context_line":"    # read when constructing a context using from_dict."},{"line_number":185,"context_line":"    _FROM_DICT_EXTRA_KEYS \u003d []"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @_renamed_kwarg(\u0027user\u0027, \u0027user_id\u0027)"},{"line_number":188,"context_line":"    @_renamed_kwarg(\u0027tenant\u0027, \u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_984a2525","line":185,"updated":"2017-10-10 22:16:46.000000000","message":"Prefixing this with an underscore implies it is private, doesn\u0027t it?","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"5c0466cc525d0441b059e48e221a2afb329b94dc","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    user_idt_format \u003d u\u0027{user} {tenant} {domain} {user_domain} {p_domain}\u0027"},{"line_number":183,"context_line":"    # Can be overridden in subclasses to specify extra keys that should be"},{"line_number":184,"context_line":"    # read when constructing a context using from_dict."},{"line_number":185,"context_line":"    _FROM_DICT_EXTRA_KEYS \u003d []"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @_renamed_kwarg(\u0027user\u0027, \u0027user_id\u0027)"},{"line_number":188,"context_line":"    @_renamed_kwarg(\u0027tenant\u0027, \u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_b076fea3","line":185,"in_reply_to":"5f4e5783_4a4cb8c6","updated":"2017-10-11 15:55:49.000000000","message":"Hmm, maybe? That\u0027s less clear than the usual public/private rules.\n\nIs there any reason for this not to be a fully public attribute? If we\u0027re worried about mutability, it could be exposed as a method.","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"fa6e12efe196e2c8561bf20555b1bc5d01f096f3","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    user_idt_format \u003d u\u0027{user} {tenant} {domain} {user_domain} {p_domain}\u0027"},{"line_number":183,"context_line":"    # Can be overridden in subclasses to specify extra keys that should be"},{"line_number":184,"context_line":"    # read when constructing a context using from_dict."},{"line_number":185,"context_line":"    _FROM_DICT_EXTRA_KEYS \u003d []"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @_renamed_kwarg(\u0027user\u0027, \u0027user_id\u0027)"},{"line_number":188,"context_line":"    @_renamed_kwarg(\u0027tenant\u0027, \u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_87b86276","line":185,"in_reply_to":"5f4e5783_7322d0a6","updated":"2017-10-11 19:02:08.000000000","message":"Yeah, I can go along with that logic. :-)","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"29317b41c8d55392f8431527d1231464082ec296","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    user_idt_format \u003d u\u0027{user} {tenant} {domain} {user_domain} {p_domain}\u0027"},{"line_number":183,"context_line":"    # Can be overridden in subclasses to specify extra keys that should be"},{"line_number":184,"context_line":"    # read when constructing a context using from_dict."},{"line_number":185,"context_line":"    _FROM_DICT_EXTRA_KEYS \u003d []"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @_renamed_kwarg(\u0027user\u0027, \u0027user_id\u0027)"},{"line_number":188,"context_line":"    @_renamed_kwarg(\u0027tenant\u0027, \u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_4a4cb8c6","line":185,"in_reply_to":"5f4e5783_984a2525","updated":"2017-10-11 14:50:26.000000000","message":"Subclasses are allowed to use private members, aren\u0027t they?  I don\u0027t think you could use this without subclassing since it requires overriding to_dict as well.","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"296310f1eede195cb4aa3e39725768bc09174bfa","unresolved":false,"context_lines":[{"line_number":182,"context_line":"    user_idt_format \u003d u\u0027{user} {tenant} {domain} {user_domain} {p_domain}\u0027"},{"line_number":183,"context_line":"    # Can be overridden in subclasses to specify extra keys that should be"},{"line_number":184,"context_line":"    # read when constructing a context using from_dict."},{"line_number":185,"context_line":"    _FROM_DICT_EXTRA_KEYS \u003d []"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    @_renamed_kwarg(\u0027user\u0027, \u0027user_id\u0027)"},{"line_number":188,"context_line":"    @_renamed_kwarg(\u0027tenant\u0027, \u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_7322d0a6","line":185,"in_reply_to":"5f4e5783_b076fea3","updated":"2017-10-11 16:20:46.000000000","message":"No particular reason, just defaulting to private because I don\u0027t see any external use for it.  I guess it\u0027s all-caps which signifies that it is a constant people shouldn\u0027t be changing at runtime.  That is probably good enough.  If you change a constant and break something then you get to keep the pieces. :-)","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"}],"oslo_context/tests/test_context.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"487e7a3d93e46ca9b3ff62f9b126312fdcbf392b","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        initial \u003d TestContext(foo\u003d\u0027bar\u0027)"},{"line_number":205,"context_line":"        dct \u003d initial.to_dict()"},{"line_number":206,"context_line":"        final \u003d TestContext.from_dict(dct)"},{"line_number":207,"context_line":"        self.assertEqual(\u0027bar\u0027, final.foo)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def test_is_user_context(self):"},{"line_number":210,"context_line":"        self.assertFalse(context.is_user_context(None))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_d859bdfe","line":207,"updated":"2017-10-10 22:16:46.000000000","message":"I still think we want a test that enforces the contexts being fully equal. Maybe compare the to_dict() output of both instances?","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"29317b41c8d55392f8431527d1231464082ec296","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        initial \u003d TestContext(foo\u003d\u0027bar\u0027)"},{"line_number":205,"context_line":"        dct \u003d initial.to_dict()"},{"line_number":206,"context_line":"        final \u003d TestContext.from_dict(dct)"},{"line_number":207,"context_line":"        self.assertEqual(\u0027bar\u0027, final.foo)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def test_is_user_context(self):"},{"line_number":210,"context_line":"        self.assertFalse(context.is_user_context(None))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_aada0ce6","line":207,"in_reply_to":"5f4e5783_d859bdfe","updated":"2017-10-11 14:50:26.000000000","message":"Sure, will do.","commit_id":"eb22fa0eb7339520d9cb658a713a3a5fecbafcca"}]}
