)]}'
{"nova/compute/aggregate_states.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"c89eae9789a78ef3ac12d0b7a1b1c43344b729ed","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"\"\"Possible states for host aggregates."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"An aggregate may be \u0027building\u0027, in which case the admin has triggered its"},{"line_number":21,"context_line":"creation, but the underlying hypervisor pool has not actually being createy"},{"line_number":22,"context_line":"yet. An aggregate may be \u0027active\u0027, in which case the underlying hypervisor"},{"line_number":23,"context_line":"pool is up and running. An aggregate may be in \u0027error\u0027 in all other cases."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F980%3D","line":21,"updated":"2012-01-16 18:23:09.000000000","message":"createy -\u003e created","commit_id":"53e8e08eede278de49ab8bb53c066d3e3cc68b93"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"c89eae9789a78ef3ac12d0b7a1b1c43344b729ed","unresolved":false,"context_lines":[{"line_number":21,"context_line":"creation, but the underlying hypervisor pool has not actually being createy"},{"line_number":22,"context_line":"yet. An aggregate may be \u0027active\u0027, in which case the underlying hypervisor"},{"line_number":23,"context_line":"pool is up and running. An aggregate may be in \u0027error\u0027 in all other cases."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"BUILDING \u003d \u0027building\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F98w%3D","line":24,"updated":"2012-01-16 18:23:09.000000000","message":"blank line isn\u0027t necessary anymore here","commit_id":"53e8e08eede278de49ab8bb53c066d3e3cc68b93"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"9d3d761cc13c2781136997a1895d977e439f1910","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    def wrapper(context, aggregate_id, *args, **kwargs):"},{"line_number":155,"context_line":"        db.aggregate_get(context, aggregate_id)"},{"line_number":156,"context_line":"        return f(context, aggregate_id, *args, **kwargs)"},{"line_number":157,"context_line":"    wrapper.__name__ \u003d f.__name__"},{"line_number":158,"context_line":"    return wrapper"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAD3%2F%2F9o0%3D","line":157,"updated":"2012-01-16 22:34:42.000000000","message":"We should probably use the @functools.wraps() decorator here instead of just setting the name.  Still, that isn\u0027t really your problem, since there are so many examples here that do it wrong :)","commit_id":"fd9335761f5a000a93c7c6f4fa2804cdc5581035"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a3cb8f22b922300bb497409b51b4d3916f14eae8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"import functools"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Copyright (c) 2011 X.commerce, a business unit of eBay Inc."},{"line_number":5,"context_line":"# Copyright 2010 United States Government as represented by the"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAD3%2F%2F9Us%3D","line":2,"updated":"2012-01-17 16:46:24.000000000","message":"Way wrong place for this import.  This should be imported after \"import datetime\".","commit_id":"a277b5fe8793d0ff2667647a6200fd40a27a52aa"}]}
