)]}'
{"keystoneclient/tests/utils.py":[{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"59e21bf3f6ed0112d44a5fcda159d9fa17132910","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def assertQueryStringContains(self, **kwargs):"},{"line_number":95,"context_line":"        parts \u003d urlparse.urlparse(self.requests.last_request.url)"},{"line_number":96,"context_line":"        qs \u003d urlparse.parse_qs(parts.query, keep_blank_values\u003dTrue)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        for k, v in six.iteritems(kwargs):"},{"line_number":99,"context_line":"            self.assertIn(k, qs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_ceb9a516","line":96,"updated":"2015-01-30 10:45:42.000000000","message":"I think that a comment or a docstring needs to be added here describing how to use the method for keys without values. It\u0027s not clear now that I should pass {\u0027nocatalog\u0027: \u0027\u0027}.","commit_id":"ca6442cf798f5fe190a30d9d3d7117c2f9c671ef"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8c70edd23137593395b99eca6b6e56b4c453b529","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def assertQueryStringContains(self, **kwargs):"},{"line_number":95,"context_line":"        parts \u003d urlparse.urlparse(self.requests.last_request.url)"},{"line_number":96,"context_line":"        qs \u003d urlparse.parse_qs(parts.query, keep_blank_values\u003dTrue)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        for k, v in six.iteritems(kwargs):"},{"line_number":99,"context_line":"            self.assertIn(k, qs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_72809746","line":96,"in_reply_to":"fa81d914_6efb59c1","updated":"2015-01-30 15:58:04.000000000","message":"Done -- I added a docstring that I think explains how this works.","commit_id":"ca6442cf798f5fe190a30d9d3d7117c2f9c671ef"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"52539ad58e9cf74f7eafaace1319fc7a0312e55b","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def assertQueryStringContains(self, **kwargs):"},{"line_number":95,"context_line":"        parts \u003d urlparse.urlparse(self.requests.last_request.url)"},{"line_number":96,"context_line":"        qs \u003d urlparse.parse_qs(parts.query, keep_blank_values\u003dTrue)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        for k, v in six.iteritems(kwargs):"},{"line_number":99,"context_line":"            self.assertIn(k, qs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_6efb59c1","line":96,"in_reply_to":"fa81d914_ceb9a516","updated":"2015-01-30 10:47:06.000000000","message":"sorry,\n\nthat I should pass `nocatalog\u003d\u0027\u0027 `","commit_id":"ca6442cf798f5fe190a30d9d3d7117c2f9c671ef"}]}
