)]}'
{"nova/objects/instance.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8d9227c52c7c19d5a5de650b0edb94501e606c17","unresolved":false,"context_lines":[{"line_number":566,"context_line":"        \u00271.1\u0027: \u00271.9\u0027,"},{"line_number":567,"context_line":"        # NOTE(danms): Instance was at 1.9 before we added this"},{"line_number":568,"context_line":"        \u00271.2\u0027: \u00271.11\u0027,"},{"line_number":569,"context_line":"        \u00271.3\u0027: \u00271.11\u0027,"},{"line_number":570,"context_line":"        }"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"    @base.remotable_classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FuY0%3D","line":569,"updated":"2014-01-02 21:14:32.000000000","message":"I\u0027m not sure this is right but I don\u0027t know what else it would be.","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3a425d5cdec151a5e8ed2d9973c2291e99d2f20","unresolved":false,"context_lines":[{"line_number":566,"context_line":"        \u00271.1\u0027: \u00271.9\u0027,"},{"line_number":567,"context_line":"        # NOTE(danms): Instance was at 1.9 before we added this"},{"line_number":568,"context_line":"        \u00271.2\u0027: \u00271.11\u0027,"},{"line_number":569,"context_line":"        \u00271.3\u0027: \u00271.11\u0027,"},{"line_number":570,"context_line":"        }"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"    @base.remotable_classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fqk4%3D","line":569,"in_reply_to":"AAAAT3%2F%2FuY0%3D","updated":"2014-01-03 21:01:17.000000000","message":"Looks right to me.","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3a425d5cdec151a5e8ed2d9973c2291e99d2f20","unresolved":false,"context_lines":[{"line_number":613,"context_line":"    @base.remotable_classmethod"},{"line_number":614,"context_line":"    def get_active_by_window_joined(cls, context, begin, end\u003dNone,"},{"line_number":615,"context_line":"                                    project_id\u003dNone, host\u003dNone,"},{"line_number":616,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":617,"context_line":"        db_inst_list \u003d db.instance_get_active_by_window_joined(context, begin,"},{"line_number":618,"context_line":"                                                               end, project_id,"},{"line_number":619,"context_line":"                                                               host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FqlY%3D","line":616,"updated":"2014-01-03 21:01:17.000000000","message":"I don\u0027t think it makes sense to pass in expected_attrs if the underlying DB query doesn\u0027t take columns_to_join. I\u0027d say either make it take it, or remove this from the API.","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec3d25584b45e8d5f1ab81c3c6f3534f77fa5543","unresolved":false,"context_lines":[{"line_number":613,"context_line":"    @base.remotable_classmethod"},{"line_number":614,"context_line":"    def get_active_by_window_joined(cls, context, begin, end\u003dNone,"},{"line_number":615,"context_line":"                                    project_id\u003dNone, host\u003dNone,"},{"line_number":616,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":617,"context_line":"        db_inst_list \u003d db.instance_get_active_by_window_joined(context, begin,"},{"line_number":618,"context_line":"                                                               end, project_id,"},{"line_number":619,"context_line":"                                                               host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fqeg%3D","line":616,"in_reply_to":"AAAAT3%2F%2FqlY%3D","updated":"2014-01-03 21:33:34.000000000","message":"I basically based that on some of the other methods here that take expected_attrs but don\u0027t have columns_to_join in the DB query, like get_hung_in_rebooting, get_by_host_and_not_type, and get_by_host_and_node.  Am I missing why those take the arg but this one shouldn\u0027t?","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3a425d5cdec151a5e8ed2d9973c2291e99d2f20","unresolved":false,"context_lines":[{"line_number":616,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":617,"context_line":"        db_inst_list \u003d db.instance_get_active_by_window_joined(context, begin,"},{"line_number":618,"context_line":"                                                               end, project_id,"},{"line_number":619,"context_line":"                                                               host)"},{"line_number":620,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":621,"context_line":"                                   expected_attrs)"},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FqlA%3D","line":619,"updated":"2014-01-03 21:01:17.000000000","message":"begin and end are in what format? Isotime strings or something? Since  those are not fully obvious, I think it\u0027s worth a docstring on this method to make sure we know what we\u0027re sending now it\u0027s clearer if we ever need to change it.","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ec3d25584b45e8d5f1ab81c3c6f3534f77fa5543","unresolved":false,"context_lines":[{"line_number":616,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":617,"context_line":"        db_inst_list \u003d db.instance_get_active_by_window_joined(context, begin,"},{"line_number":618,"context_line":"                                                               end, project_id,"},{"line_number":619,"context_line":"                                                               host)"},{"line_number":620,"context_line":"        return _make_instance_list(context, cls(), db_inst_list,"},{"line_number":621,"context_line":"                                   expected_attrs)"},{"line_number":622,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fqdo%3D","line":619,"in_reply_to":"AAAAT3%2F%2FqlA%3D","updated":"2014-01-03 21:33:34.000000000","message":"They are datetime objects, I can point that out with a docstring.","commit_id":"716d82403d19b5e3d9c95bcfdff6da65d5b4b579"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2552aad6527550b867c8906961bbdd84cc8b8d20","unresolved":false,"context_lines":[{"line_number":616,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":617,"context_line":"        \"\"\"Get instances and joins active during a certain time window."},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"        The begin and end parameters are datetime objects."},{"line_number":620,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":621,"context_line":"        Specifying a host will filter for instances on a given compute host."},{"line_number":622,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAT3%2F%2FqWQ%3D","line":619,"updated":"2014-01-03 22:16:01.000000000","message":"Should we be checking the begin/end datetimes to see if they are timezone-aware and if so, convert them to timezone-naive to be safe?  The DateTime column type in sqlalchemy defaults to be timezone-naive.","commit_id":"5c817acaf9de44c376e7f56c04a17e9ff7c22298"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c404177e81bad8aeb0dffed64c190de699fe8ea8","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":640,"context_line":"        Specifying a host will filter for instances on a given compute host."},{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2ng%3D","line":642,"updated":"2014-01-07 16:49:47.000000000","message":"the terminated_at and launched_at stamps have no bearing on this call and the need for the stringification, right? Maybe this is often called with those, but that\u0027s not really related, AFAIK, and should be kept out of this comment I think.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58a3cdd8266545670438be003e4650365fd99435","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":640,"context_line":"        Specifying a host will filter for instances on a given compute host."},{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2MA%3D","line":642,"in_reply_to":"AAAAUH%2F%2F2Xs%3D","updated":"2014-01-07 18:47:20.000000000","message":"Point taken, I\u0027ll remove it.  If anywhere it should be in _get_active_by_window_joined.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"05d52ab6fc9924c1582d71de9987388c27d50c2a","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":640,"context_line":"        Specifying a host will filter for instances on a given compute host."},{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2Xs%3D","line":642,"in_reply_to":"AAAAUH%2F%2F2Zk%3D","updated":"2014-01-07 17:40:48.000000000","message":"But the reason we\u0027re doing this is not related to timezones. The reason we\u0027re doing this is because datetimes (tz-aware or not) are not serializable and thus can\u0027t be method arguments. Having anything tz-related in the comments here confuses that issue I think.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b655c82f08324f0bcfa1bba3ca6ddd56478401e4","unresolved":false,"context_lines":[{"line_number":639,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":640,"context_line":"        Specifying a host will filter for instances on a given compute host."},{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2Zk%3D","line":642,"in_reply_to":"AAAAUH%2F%2F2ng%3D","updated":"2014-01-07 17:33:04.000000000","message":"I think my point was to not forget that the reason we\u0027re doing this is because the datetime values are not stored in the database with the timezone, so that\u0027s why we make them tz-naive rather than tz-aware in case someone comes along later and thinks we should be using timeutils.isotime rather than timeutils.strtime.\n\nWould making it more generic be OK in that case, or you still think it should be removed?","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c404177e81bad8aeb0dffed64c190de699fe8ea8","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2nQ%3D","line":644,"updated":"2014-01-07 16:49:47.000000000","message":"I\u0027m not sure what the tz-aware-ness has to do with this...","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b655c82f08324f0bcfa1bba3ca6ddd56478401e4","unresolved":false,"context_lines":[{"line_number":641,"context_line":"        \"\"\""},{"line_number":642,"context_line":"        # NOTE(mriedem): instances.terminated_at and instances.launched_at are"},{"line_number":643,"context_line":"        # stored as timezone-naive so we convert begin/end datetimes to"},{"line_number":644,"context_line":"        # tz-naive regardless of whether or not they provide the timezone."},{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2Zg%3D","line":644,"in_reply_to":"AAAAUH%2F%2F2nQ%3D","updated":"2014-01-07 17:33:04.000000000","message":"See above.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c404177e81bad8aeb0dffed64c190de699fe8ea8","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"},{"line_number":648,"context_line":"        end \u003d timeutils.strtime(end) if end else None"},{"line_number":649,"context_line":"        return cls._get_active_by_window_joined(context, begin, end,"},{"line_number":650,"context_line":"                                                project_id, host,"},{"line_number":651,"context_line":"                                                expected_attrs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2nA%3D","line":648,"updated":"2014-01-07 16:49:47.000000000","message":"Personally, I\u0027d rather us get away from tz-naive anything, so I\u0027d rather the string be tz-aware. Any reason not to?","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58a3cdd8266545670438be003e4650365fd99435","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"},{"line_number":648,"context_line":"        end \u003d timeutils.strtime(end) if end else None"},{"line_number":649,"context_line":"        return cls._get_active_by_window_joined(context, begin, end,"},{"line_number":650,"context_line":"                                                project_id, host,"},{"line_number":651,"context_line":"                                                expected_attrs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2L0%3D","line":648,"in_reply_to":"AAAAUH%2F%2F2XY%3D","updated":"2014-01-07 18:47:20.000000000","message":"OK, I\u0027ll change that.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"05d52ab6fc9924c1582d71de9987388c27d50c2a","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"},{"line_number":648,"context_line":"        end \u003d timeutils.strtime(end) if end else None"},{"line_number":649,"context_line":"        return cls._get_active_by_window_joined(context, begin, end,"},{"line_number":650,"context_line":"                                                project_id, host,"},{"line_number":651,"context_line":"                                                expected_attrs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2XY%3D","line":648,"in_reply_to":"AAAAUH%2F%2F2ZU%3D","updated":"2014-01-07 17:40:48.000000000","message":"Right, but this API should be independent of what\u0027s happening on the backend. Since one of the points of the objects stuff is to insulate the higher implementation from the low-level database implementation, I think we need this API to be sound, regardless of whether sqlalchemy will just ignore it. Thus, I really want this string (and thus the spec for what goes over the wire) to be tz-aware, regardless of whether it happens to be ignored on either side right now.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b655c82f08324f0bcfa1bba3ca6ddd56478401e4","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        # Also, we have to convert the datetime objects to string primitives"},{"line_number":646,"context_line":"        # for the remote call."},{"line_number":647,"context_line":"        begin \u003d timeutils.strtime(begin)"},{"line_number":648,"context_line":"        end \u003d timeutils.strtime(end) if end else None"},{"line_number":649,"context_line":"        return cls._get_active_by_window_joined(context, begin, end,"},{"line_number":650,"context_line":"                                                project_id, host,"},{"line_number":651,"context_line":"                                                expected_attrs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F2ZU%3D","line":648,"in_reply_to":"AAAAUH%2F%2F2nA%3D","updated":"2014-01-07 17:33:04.000000000","message":"The DB queries against tz-naive values, so that\u0027s what I\u0027m passing against the DB API query.  Ultimately it probably doesn\u0027t matter because I think sqlalchemy papers over it, as we discussed last week, but I\u0027m trying to be consistent with how the code calling this DB API currently works.","commit_id":"45f4529f9011f2b3505811b35ff9372544701383"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"cf539e727f49972b579352de6cf35d3275ea4bb0","unresolved":false,"context_lines":[{"line_number":633,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":634,"context_line":"        \"\"\"Get instances and joins active during a certain time window."},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        The begin and end parameters are datetime objects."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":639,"context_line":"        Specifying a host will filter for instances on a given compute host."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Bi50%3D","line":636,"updated":"2014-01-24 15:07:06.000000000","message":"Maybe use :param here?  I don\u0027t think it\u0027s an official coding standard but it seems to be the most common way to note parameter types in Nova docstrings.","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ab24336f9bfad84ef15043380f9b8e3f2d2b56f4","unresolved":false,"context_lines":[{"line_number":633,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":634,"context_line":"        \"\"\"Get instances and joins active during a certain time window."},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        The begin and end parameters are datetime objects."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":639,"context_line":"        Specifying a host will filter for instances on a given compute host."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Bius%3D","line":636,"in_reply_to":"AAAAUH%2F%2Bi50%3D","updated":"2014-01-24 15:32:22.000000000","message":"I can look into that - this docstring is basically copied from the DB API code that this calls, with the added mention of the begin/end parameters being datetime objects (versus strings).  I was avoiding formal docstring because I didn\u0027t want to have to explain expected_attrs. :)","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b3c894c9255c69590001f232cf1670f7de5a907a","unresolved":false,"context_lines":[{"line_number":633,"context_line":"                                    expected_attrs\u003dNone):"},{"line_number":634,"context_line":"        \"\"\"Get instances and joins active during a certain time window."},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        The begin and end parameters are datetime objects."},{"line_number":637,"context_line":""},{"line_number":638,"context_line":"        Specifying a project_id will filter for a certain project."},{"line_number":639,"context_line":"        Specifying a host will filter for instances on a given compute host."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BdiU%3D","line":636,"in_reply_to":"AAAAUH%2F%2Bius%3D","updated":"2014-01-25 19:40:09.000000000","message":"Done","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"}],"nova/tests/objects/test_instance.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"cf539e727f49972b579352de6cf35d3275ea4bb0","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            inst_list \u003d instance.InstanceList.get_active_by_window_joined("},{"line_number":950,"context_line":"                            self.context, dt)"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"        for i in range(len(fakes)):"},{"line_number":953,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":954,"context_line":"            self.assertEqual(inst_list.objects[i].uuid, fakes[i][\u0027uuid\u0027])"},{"line_number":955,"context_line":"        self.assertRemotes()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2Bi7Q%3D","line":952,"updated":"2014-01-24 15:07:06.000000000","message":"This is okay, but I think it would be prettier to eliminate the indexes.\n\nSomething like \"for (fake, obj) in zip(fakes, inst_list.objects)\" ?","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ab24336f9bfad84ef15043380f9b8e3f2d2b56f4","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            inst_list \u003d instance.InstanceList.get_active_by_window_joined("},{"line_number":950,"context_line":"                            self.context, dt)"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"        for i in range(len(fakes)):"},{"line_number":953,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":954,"context_line":"            self.assertEqual(inst_list.objects[i].uuid, fakes[i][\u0027uuid\u0027])"},{"line_number":955,"context_line":"        self.assertRemotes()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BiuY%3D","line":952,"in_reply_to":"AAAAUH%2F%2Bi7Q%3D","updated":"2014-01-24 15:32:22.000000000","message":"This is basically a copy of the test case above it.  If I make a change, I can change this also.","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b3c894c9255c69590001f232cf1670f7de5a907a","unresolved":false,"context_lines":[{"line_number":949,"context_line":"            inst_list \u003d instance.InstanceList.get_active_by_window_joined("},{"line_number":950,"context_line":"                            self.context, dt)"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"        for i in range(len(fakes)):"},{"line_number":953,"context_line":"            self.assertIsInstance(inst_list.objects[i], instance.Instance)"},{"line_number":954,"context_line":"            self.assertEqual(inst_list.objects[i].uuid, fakes[i][\u0027uuid\u0027])"},{"line_number":955,"context_line":"        self.assertRemotes()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BdiY%3D","line":952,"in_reply_to":"AAAAUH%2F%2BiuY%3D","updated":"2014-01-25 19:40:09.000000000","message":"Done","commit_id":"d0fe3a00ff051721691a22761c22b81123e47e95"}]}
