)]}'
{"oslo_versionedobjects/base.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0f47d1460aa4a955fccdb2b3fe76fe05140fa293","unresolved":false,"context_lines":[{"line_number":665,"context_line":"        return list(self.fields.keys()) + self.obj_extra_fields"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"    @property"},{"line_number":668,"context_line":"    def context(self):"},{"line_number":669,"context_line":"        return self._context"},{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    @context.setter"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_1d6b77f2","line":668,"updated":"2016-04-14 14:08:11.000000000","message":"Can we call this obj_context to namespace it for our own use. Like obj_fields above, we have somewhat defined the obj_ namespace as \"belonging to the objects infrastructure\". If someone else has an object with a field of \"context\", this would break them.","commit_id":"4043d59ee3a1c8579a7c8ebe65f59ebd62feeced"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0f47d1460aa4a955fccdb2b3fe76fe05140fa293","unresolved":false,"context_lines":[{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    @context.setter"},{"line_number":672,"context_line":"    def context(self, value):"},{"line_number":673,"context_line":"        self._context \u003d value"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"class ComparableVersionedObject(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_b83d3191","line":673,"updated":"2016-04-14 14:08:11.000000000","message":"So, this is okay I guess, but we try to avoid just forcing other contexts into an object because the possibility for introducing an unexpected security issue can occur. When do you need to do this?\n\nNova has a thing that lets us temporarily perform one action as another (i.e. elevated) user. Maybe we should bring that in here?\n\nhttps://github.com/openstack/nova/blob/master/nova/objects/base.py#L133","commit_id":"4043d59ee3a1c8579a7c8ebe65f59ebd62feeced"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"52f3bd5b2474dd6765db5e0b5a8c7db78be15891","unresolved":false,"context_lines":[{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    @context.setter"},{"line_number":672,"context_line":"    def context(self, value):"},{"line_number":673,"context_line":"        self._context \u003d value"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"class ComparableVersionedObject(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_4b265b69","line":673,"in_reply_to":"5a18252c_6f31e859","updated":"2016-04-15 15:18:02.000000000","message":"Cool, even better :)","commit_id":"4043d59ee3a1c8579a7c8ebe65f59ebd62feeced"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"299f99885757cdb0ae5fc24e16d65abb6cb434b1","unresolved":false,"context_lines":[{"line_number":670,"context_line":""},{"line_number":671,"context_line":"    @context.setter"},{"line_number":672,"context_line":"    def context(self, value):"},{"line_number":673,"context_line":"        self._context \u003d value"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"class ComparableVersionedObject(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_6f31e859","line":673,"in_reply_to":"5a18252c_b83d3191","updated":"2016-04-15 06:30:06.000000000","message":"Yeah, nova thingy is cool. But I probably don\u0027t need it right now, I only need a getter. I will remove the setter for now.","commit_id":"4043d59ee3a1c8579a7c8ebe65f59ebd62feeced"}]}
