)]}'
{"bin/glance":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"2aeb88c8685f3c5bce899656cb239dc856be6cab","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        fields[pieces[0]] \u003d pieces[1]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    fields \u003d dict([(k.lower().replace(\u0027-\u0027, \u0027_\u0027), v)"},{"line_number":97,"context_line":"                   for k, v in fields.items()])"},{"line_number":98,"context_line":"    return fields"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAACH%2F%2F%2BUk%3D","side":"PARENT","line":97,"updated":"2011-09-12 22:55:52.000000000","message":"The lower-case transformation here probably doesn\u0027t do anything surprisingly entertaining (except for ensuring that the field doesn\u0027t get duplicated), but I know of at least one field—is_public—where the \u0027-\u0027 and \u0027_\u0027 distinction is important.  I\u0027m sure you\u0027ve thought of that, I would just like to hear your defense of why this code can safely be removed...","commit_id":"09ea2718a219b13ea9cd67bf80d8fe83b499e153"}],"glance/registry/db/api.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0e235cef4d4b62cb190a0485c0c2c09c6354a12","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                        filter_by(id\u003dimage_id)"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # filter out deleted images if context disallows it"},{"line_number":154,"context_line":"        if not _deleted(context):"},{"line_number":155,"context_line":"            query \u003d query.filter_by(deleted\u003dFalse)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        return query.one()"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACH%2F%2F%2BP4%3D","line":154,"updated":"2011-09-13 18:03:31.000000000","message":"This will need to be changed to can_be_deleted(context) once Jason\u0027s latest scrubber patch is in trunk.","commit_id":"e510b9700cec8cd54db3d5087e3eae376ae85663"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0e235cef4d4b62cb190a0485c0c2c09c6354a12","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        context.show_deleted \u003d True"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    # filter out deleted images if context disallows it"},{"line_number":251,"context_line":"    if not _deleted(context):"},{"line_number":252,"context_line":"        query \u003d query.filter_by(deleted\u003dFalse).\\"},{"line_number":253,"context_line":"                      filter(models.Image.status !\u003d \u0027killed\u0027)"},{"line_number":254,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACH%2F%2F%2BPs%3D","line":251,"updated":"2011-09-13 18:03:31.000000000","message":"Same here, obviously.","commit_id":"e510b9700cec8cd54db3d5087e3eae376ae85663"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"ecd26952c62f3574a2386182cfcdbb6ca2475e12","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        query \u003d query.filter(models.Image.updated_at \u003e changes_since)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        # necessary for markers to work"},{"line_number":232,"context_line":"        context.show_deleted \u003d True"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    # filter out deleted images if context disallows it"},{"line_number":235,"context_line":"    if not _deleted(context):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAACH%2F%2F%2BO8%3D","line":232,"updated":"2011-09-13 21:03:10.000000000","message":"should be context._show_deleted \u003d True","commit_id":"8f9e92de4f946d6a88fa5c98599b2e1e847110b7"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"ecd26952c62f3574a2386182cfcdbb6ca2475e12","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        context.show_deleted \u003d True"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    # filter out deleted images if context disallows it"},{"line_number":235,"context_line":"    if not _deleted(context):"},{"line_number":236,"context_line":"        query \u003d query.filter_by(deleted\u003dFalse).\\"},{"line_number":237,"context_line":"                      filter(models.Image.status !\u003d \u0027killed\u0027)"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAACH%2F%2F%2BPA%3D","line":235,"updated":"2011-09-13 21:03:10.000000000","message":"if can_show_deleted(context)","commit_id":"8f9e92de4f946d6a88fa5c98599b2e1e847110b7"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"8410a276acb06430496231c51f9f0fc5a856e84c","unresolved":false,"context_lines":[{"line_number":155,"context_line":"            query \u003d query.filter_by(deleted\u003dFalse)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        return query.one()"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    except exc.NoResultFound:"},{"line_number":160,"context_line":"        raise exception.NotFound(\"No image found with ID %s\" % image_id)"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAACH%2F%2F%2BOU%3D","line":158,"updated":"2011-09-13 22:05:15.000000000","message":"This breaks the authorization checks on image visibility.","commit_id":"2b6c242e9088221e0396afd767745451d49c4b1b"}],"glance/registry/server.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"2aeb88c8685f3c5bce899656cb239dc856be6cab","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        try:"},{"line_number":63,"context_line":"            return db_api.image_get_all(context, **params)"},{"line_number":64,"context_line":"        except exception.NotFound, e:"},{"line_number":65,"context_line":"            msg \u003d _(\"Invalid marker. Image could not be found. %s\" % params)"},{"line_number":66,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def index(self, req):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAACH%2F%2F%2BUg%3D","line":65,"updated":"2011-09-12 22:55:52.000000000","message":"Was this left-over debugging?","commit_id":"d0fc0526bead382704e662dfeb9ef9454afa94fc"}]}
