)]}'
{"swift/common/internal_client.py":[{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    :param conf_path: Full path to proxy config."},{"line_number":107,"context_line":"    :param user_agent: User agent to be sent to requests to Swift."},{"line_number":108,"context_line":"    :param request_tries: Number of tries before InternalClient.make_request()"},{"line_number":109,"context_line":"                          gives up."},{"line_number":110,"context_line":"    \"\"\""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def __init__(self, conf_path, user_agent, request_tries):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8ow%3D","line":109,"updated":"2012-04-03 04:15:16.000000000","message":"mention how it slows down exponentially for retries","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def _get_metadata(self, path, metadata_key, acceptable_statuses\u003d(2,)):"},{"line_number":163,"context_line":"        \"\"\""},{"line_number":164,"context_line":"        Gets metadata by doing a HEAD on a path and using the matadata_key to"},{"line_number":165,"context_line":"        get values from the headers returned."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        :param path: Path to do HEAD on."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8oc%3D","line":164,"updated":"2012-04-03 04:15:16.000000000","message":"matadata","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        \"\"\""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        resp \u003d self.make_request(\u0027HEAD\u0027, path, {}, acceptable_statuses)"},{"line_number":176,"context_line":"        metadata \u003d {}"},{"line_number":177,"context_line":"        for k, v in resp.headers.iteritems():"},{"line_number":178,"context_line":"            if k.lower().startswith(metadata_key):"},{"line_number":179,"context_line":"                metadata[k[len(metadata_key):]] \u003d v"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8oU%3D","line":176,"updated":"2012-04-03 04:15:16.000000000","message":"metadata_key \u003d metadata_key.lower()","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        :param acceptable_statuses: List of status for valid responses,"},{"line_number":189,"context_line":"                                    defaults to (2, 404)."},{"line_number":190,"context_line":"        \"\"\""},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        marker \u003d \u0027\u0027"},{"line_number":193,"context_line":"        while True:"},{"line_number":194,"context_line":"            resp \u003d self.make_request(\u0027GET\u0027, path + \u0027\u0026marker\u003d\u0027 + quote(marker),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8oQ%3D","line":191,"updated":"2012-04-03 04:15:16.000000000","message":"wouldn\u0027t it make more sense for the format\u003djson but put in  here instead of the calling func?","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        :param path: Path to do POST on."},{"line_number":212,"context_line":"        :param metadata_key: Key used to set metdata values in headers of"},{"line_number":213,"context_line":"                             request."},{"line_number":214,"context_line":"        :param acceptable_statuses: List of status for valid responses,"},{"line_number":215,"context_line":"                                    defaults to (2,)."},{"line_number":216,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8oI%3D","line":213,"updated":"2012-04-03 04:15:16.000000000","message":"metadata param","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        :param acceptable_statuses: List of status for valid responses,"},{"line_number":294,"context_line":"                                    defaults to (2, 404)."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        :returns : True if container exists, false otherwise."},{"line_number":297,"context_line":"        \"\"\""},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        path \u003d \u0027/v1/%s/%s\u0027 % (quote(account), quote(container))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8oE%3D","line":296,"updated":"2012-04-03 04:15:16.000000000","message":"don\u0027t know if its worth mentioning but all these will also raise UnexpectedResponse, etc from make_request","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    def iter_objects(self, account, container, acceptable_statuses\u003d(2, 404)):"},{"line_number":350,"context_line":"        \"\"\""},{"line_number":351,"context_line":"        Returns an iterator of objects from a container."},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"        :param account: The container\u0027s account."},{"line_number":354,"context_line":"        :param container: Container to iterate objects on."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8n4%3D","line":351,"updated":"2012-04-03 04:15:16.000000000","message":"iterator of object dicts","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":416,"context_line":"            acceptable_statuses\u003d(2,)):"},{"line_number":417,"context_line":"        \"\"\""},{"line_number":418,"context_line":"        Returns an iterator of containers from an account."},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        Uncompress object as it is read if the object\u0027s name ends with \u0027.gz\u0027."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"        :param account: The object\u0027s account."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8n0%3D","line":419,"updated":"2012-04-03 04:15:16.000000000","message":"doc confusing. doesn\u0027t this read though lines in a file?","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"}],"test/unit/common/test_internal_client.py":[{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":374,"context_line":"                body_file\u003dNone):"},{"line_number":375,"context_line":"                self.make_request_called +\u003d 1"},{"line_number":376,"context_line":"                return self.responses.pop(0)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"        exp_items \u003d []"},{"line_number":379,"context_line":"        responses \u003d []"},{"line_number":380,"context_line":"        for i in xrange(3):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8lw%3D","line":377,"updated":"2012-04-03 04:15:16.000000000","message":"so close to 100%- \n\n+        responses \u003d [Response(200, json.dumps([])),]\n+        client \u003d InternalClient(self, responses)\n+        for item in client._iter_items(\u0027/\u0027):\n+            items.append(item)\n+            exp_items.extend(data)\n+        self.assertEquals(exp_items, [])\n+\n+        exp_items \u003d []\n         responses \u003d []\n+        items \u003d []","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"},{"author":{"_account_id":995,"name":"David Goetz","email":"david.goetz@rackspace.com","username":"david-goetz"},"change_message_id":"fa19cfcfe585681ee00ac6abbbed5bfb22c0902f","unresolved":false,"context_lines":[{"line_number":723,"context_line":""},{"line_number":724,"context_line":"        client \u003d InternalClient(self, path, headers, fobj)"},{"line_number":725,"context_line":"        client.upload_object(fobj, account, container, object_name, headers)"},{"line_number":726,"context_line":"        self.assertEquals(1, client.make_request_called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAFH%2F%2F8mA%3D","line":726,"updated":"2012-04-03 04:15:16.000000000","message":"add:\nif __name__ \u003d\u003d \u0027__main__\u0027:\n    unittest.main()","commit_id":"b941b730367e17445e7c74ee2d0c6b3cd64d13c2"}]}
