)]}'
{"keystoneclient/contrib/ec2/utils.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0db756e10e29ab862a28f3d559d701c43f6c59f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import hashlib"},{"line_number":23,"context_line":"import hmac"},{"line_number":24,"context_line":"import urllib"},{"line_number":25,"context_line":"import re"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class Ec2Signer(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FZN8%3D","line":25,"updated":"2013-07-31 21:14:12.000000000","message":"keep imports in alphabetical order.","commit_id":"3c039ea76f0fb670ddc82a5ae6a7b649a6ae19b3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0db756e10e29ab862a28f3d559d701c43f6c59f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"            # Boto versions \u003c 2.9.3 strip the port component of the host:port"},{"line_number":217,"context_line":"            # header, so detect the user-agent via the header and strip the"},{"line_number":218,"context_line":"            # port if we detect an old boto version.  FIXME: remove when all"},{"line_number":219,"context_line":"            # distros package boto \u003e\u003d 2.9.3, this is a transistional workaround"},{"line_number":220,"context_line":"            user_agent \u003d headers_lower.get(\u0027user-agent\u0027, \u0027\u0027)"},{"line_number":221,"context_line":"            if re.match(\u0027Boto/2.[0-9].[0-2]\u0027, user_agent):"},{"line_number":222,"context_line":"                strip_port \u003d True"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FZNg%3D","line":219,"updated":"2013-07-31 21:14:12.000000000","message":"(spelling) change \"transistional\" to \"transitional\"","commit_id":"3c039ea76f0fb670ddc82a5ae6a7b649a6ae19b3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0db756e10e29ab862a28f3d559d701c43f6c59f","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            # distros package boto \u003e\u003d 2.9.3, this is a transistional workaround"},{"line_number":220,"context_line":"            user_agent \u003d headers_lower.get(\u0027user-agent\u0027, \u0027\u0027)"},{"line_number":221,"context_line":"            if re.match(\u0027Boto/2.[0-9].[0-2]\u0027, user_agent):"},{"line_number":222,"context_line":"                strip_port \u003d True"},{"line_number":223,"context_line":"            else:"},{"line_number":224,"context_line":"                strip_port \u003d False"},{"line_number":225,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FZNI%3D","line":222,"updated":"2013-07-31 21:14:12.000000000","message":"suggest do\n\n strip_port \u003d re.match(\u0027Boto/2.[0-9].[0-2]\u0027, user_agent)\n\nrather than lines 221-224","commit_id":"3c039ea76f0fb670ddc82a5ae6a7b649a6ae19b3"}]}
