)]}'
{"nova/objects/fields.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"49dc760fc0777bacc4612bce92d6842cafaddf38","unresolved":false,"context_lines":[{"line_number":302,"context_line":"    NUMA_SOCKETS \u003d \u0027NUMA_SOCKETS\u0027"},{"line_number":303,"context_line":"    NUMA_CORES \u003d \u0027NUMA_CORES\u0027"},{"line_number":304,"context_line":"    NUMA_THREADS \u003d \u0027NUMA_THREADS\u0027"},{"line_number":305,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":308,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_7d7eedaf","line":305,"updated":"2016-01-27 15:24:39.000000000","message":"Do we need something in here for network addresses per the discussion earlier about Neutron reporting addresses in a subnet/segment pool?","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"6a532061ce7fb81be2b166d001e7b90250a0054f","unresolved":false,"context_lines":[{"line_number":302,"context_line":"    NUMA_SOCKETS \u003d \u0027NUMA_SOCKETS\u0027"},{"line_number":303,"context_line":"    NUMA_CORES \u003d \u0027NUMA_CORES\u0027"},{"line_number":304,"context_line":"    NUMA_THREADS \u003d \u0027NUMA_THREADS\u0027"},{"line_number":305,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":308,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_28791194","line":305,"in_reply_to":"7a5de9d1_7d7eedaf","updated":"2016-01-27 15:29:32.000000000","message":"probably","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"49dc760fc0777bacc4612bce92d6842cafaddf38","unresolved":false,"context_lines":[{"line_number":317,"context_line":"    @classmethod"},{"line_number":318,"context_line":"    def to_index(cls, value):"},{"line_number":319,"context_line":"        \"\"\"Return an index into the Enum given a value.\"\"\""},{"line_number":320,"context_line":"        return cls.INDEXES[value]"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @classmethod"},{"line_number":323,"context_line":"    def from_index(cls, index):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_fdbadd6d","line":320,"updated":"2016-01-27 15:24:39.000000000","message":"Why not just\n\n cls.ALL.index(value)\n\n?\n\nI would also maybe argue that we don\u0027t really need to_index() and from_index() because we access .ALL in other places, and it\u0027s just a list we can use pretty easily.","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9d23e0ec58e616effb07dc8d9eb1dfbcf8dfee30","unresolved":false,"context_lines":[{"line_number":317,"context_line":"    @classmethod"},{"line_number":318,"context_line":"    def to_index(cls, value):"},{"line_number":319,"context_line":"        \"\"\"Return an index into the Enum given a value.\"\"\""},{"line_number":320,"context_line":"        return cls.INDEXES[value]"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @classmethod"},{"line_number":323,"context_line":"    def from_index(cls, index):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_682ce9ab","line":320,"in_reply_to":"7a5de9d1_68e4e93a","updated":"2016-01-27 15:40:28.000000000","message":"You can\u0027t @property something that requires a value, but otherwise using \u0027index\u0027 instead of \u0027to_index\u0027 makes sense.","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"726fe4f051d12724270a2c65fef5b477f3d49759","unresolved":false,"context_lines":[{"line_number":317,"context_line":"    @classmethod"},{"line_number":318,"context_line":"    def to_index(cls, value):"},{"line_number":319,"context_line":"        \"\"\"Return an index into the Enum given a value.\"\"\""},{"line_number":320,"context_line":"        return cls.INDEXES[value]"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @classmethod"},{"line_number":323,"context_line":"    def from_index(cls, index):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_68e4e93a","line":320,"in_reply_to":"7a5de9d1_fdbadd6d","updated":"2016-01-27 15:29:13.000000000","message":"Agree with @dansmith about the implementation. I think from_index() is useful as a method. However, I would just make the above a property called \"index\":\n\n @property\n def index(cls, value):\n     \"Return an index into the Enum given a value.\"\"\"\n     return cls.ALL.index(value)","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"6a532061ce7fb81be2b166d001e7b90250a0054f","unresolved":false,"context_lines":[{"line_number":317,"context_line":"    @classmethod"},{"line_number":318,"context_line":"    def to_index(cls, value):"},{"line_number":319,"context_line":"        \"\"\"Return an index into the Enum given a value.\"\"\""},{"line_number":320,"context_line":"        return cls.INDEXES[value]"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"    @classmethod"},{"line_number":323,"context_line":"    def from_index(cls, index):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_48becd00","line":320,"in_reply_to":"7a5de9d1_fdbadd6d","updated":"2016-01-27 15:29:32.000000000","message":"Yeah, thus the query in the commit message.\n\nI precaluated the index because it seems like these sort of over-engineering preoptimiation things are all over the place.\n\nIf people are happy with having no {to,from}_index that would make me pretty happy.","commit_id":"6c40f18247891d2937f8ceb5c4ca28b7291e7384"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b5ba7b41c1c33eb34ac7e76940ed1d5098234ca7","unresolved":false,"context_lines":[{"line_number":302,"context_line":"    NUMA_SOCKETS \u003d \u0027NUMA_SOCKETS\u0027"},{"line_number":303,"context_line":"    NUMA_CORES \u003d \u0027NUMA_CORES\u0027"},{"line_number":304,"context_line":"    NUMA_THREADS \u003d \u0027NUMA_THREADS\u0027"},{"line_number":305,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":308,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":2,"id":"7a5de9d1_a36a0219","line":305,"updated":"2016-01-27 15:52:07.000000000","message":"We\u0027re pretty sure something needs to be adde here for neutron subnet or segment pools. What naming standard shall we set for that?","commit_id":"88298250ece2e756027dc3ad0fdedbc7f6d0397e"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"c31c271f4842d3318bd11d53f0aa650b2edd1512","unresolved":false,"context_lines":[{"line_number":302,"context_line":"    NUMA_SOCKETS \u003d \u0027NUMA_SOCKETS\u0027"},{"line_number":303,"context_line":"    NUMA_CORES \u003d \u0027NUMA_CORES\u0027"},{"line_number":304,"context_line":"    NUMA_THREADS \u003d \u0027NUMA_THREADS\u0027"},{"line_number":305,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"},{"line_number":308,"context_line":"    # append."}],"source_content_type":"text/x-python","patch_set":2,"id":"7a5de9d1_f16d21cd","line":305,"in_reply_to":"7a5de9d1_a36a0219","updated":"2016-01-27 16:56:38.000000000","message":"NETWORK_* would be my vote.","commit_id":"88298250ece2e756027dc3ad0fdedbc7f6d0397e"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"e7407d1808030b35c865f543425193766dc29ca1","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    NUMA_SOCKET \u003d \u0027NUMA_SOCKET\u0027"},{"line_number":302,"context_line":"    NUMA_CORE \u003d \u0027NUMA_CORE\u0027"},{"line_number":303,"context_line":"    NUMA_THREAD \u003d \u0027NUMA_THREAD\u0027"},{"line_number":304,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":305,"context_line":"    IPV4_ADDRESS \u003d \u0027IPV4_ADDRESS\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_decef459","line":304,"updated":"2016-01-27 16:46:40.000000000","message":"This may need a KB or MB or whatever it is.","commit_id":"bd02b60631a0fae92b6e0f66666c80c43e6103f6"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"8df15abf734d1244e41094deda62b9bf67bd4522","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    NUMA_SOCKET \u003d \u0027NUMA_SOCKET\u0027"},{"line_number":302,"context_line":"    NUMA_CORE \u003d \u0027NUMA_CORE\u0027"},{"line_number":303,"context_line":"    NUMA_THREAD \u003d \u0027NUMA_THREAD\u0027"},{"line_number":304,"context_line":"    NUMA_MEMORY \u003d \u0027NUMA_MEMORY\u0027"},{"line_number":305,"context_line":"    IPV4_ADDRESS \u003d \u0027IPV4_ADDRESS\u0027"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    # The ordering here is relevant. If you must add a value, only"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a5de9d1_510af5d3","line":304,"in_reply_to":"7a5de9d1_decef459","updated":"2016-01-27 16:57:18.000000000","message":"+1","commit_id":"bd02b60631a0fae92b6e0f66666c80c43e6103f6"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5d2a794bd5bbf2baa93b25a21e6c11d24061ec19","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    @classmethod"},{"line_number":322,"context_line":"    def from_index(cls, index):"},{"line_number":323,"context_line":"        \"\"\"Return the Enum value at a given index.\"\"\""},{"line_number":324,"context_line":"        return cls.ALL[index]"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"class RNGModel(Enum):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_ec953f88","line":324,"updated":"2016-02-09 11:32:13.000000000","message":"How about just adding the above methods (as @property instead of @classmethod) to the base Enum class in oslo.versionedobjects? You could make a note in the Enum base class about ALL\u0027s ordering being relevant as well.","commit_id":"0754bcea18415c1d97eaa36a3735877107a72314"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5d2a794bd5bbf2baa93b25a21e6c11d24061ec19","unresolved":false,"context_lines":[{"line_number":810,"context_line":""},{"line_number":811,"context_line":"    def from_index(self, index):"},{"line_number":812,"context_line":"        \"\"\"Return the Enum value at a given index.\"\"\""},{"line_number":813,"context_line":"        return self._type.from_index(index)"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"class RNGModelField(BaseEnumField):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a5ae5dd_0c93fba4","line":813,"updated":"2016-02-09 11:32:13.000000000","message":"Ditto for the base BaseEnumField...","commit_id":"0754bcea18415c1d97eaa36a3735877107a72314"}]}
