)]}'
{"swift/common/middleware/formpost.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"98789f58fb989ca33cda42fa3157d2abc4de4c8b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    signature \u003d hmac.new(key, hmac_body, sha1).hexdigest()"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"The key is the value of either the X-Account-Meta-Temp-URL-Key or the"},{"line_number":94,"context_line":"X-Account-Meta-Temp-Url-Key-2 header on the account."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The key is the value of either the account (X-Account-Meta-Temp-URL-Key,"},{"line_number":97,"context_line":"X-Account-Meta-Temp-Url-Key-2) or the container"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_1c42293e","line":94,"updated":"2015-02-10 21:01:48.000000000","message":"remove this paragraph; you wrote its replacement below","commit_id":"5b171daa1e8e57a4114af1c2b6cc682e48f5faf0"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"95422d0e93412d28f06fbd8525e51c178552c763","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        return substatus[0], subheaders[0], \u0027\u0027"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"    def _get_keys(self, env):"},{"line_number":399,"context_line":"        \"\"\""},{"line_number":400,"context_line":"        Fetch the tempurl keys for the account. Also validate that the request"},{"line_number":401,"context_line":"        path indicates a valid container; if not, no keys will be returned."},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_9cea990d","line":399,"updated":"2015-02-10 20:37:19.000000000","message":"update docs","commit_id":"5b171daa1e8e57a4114af1c2b6cc682e48f5faf0"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"fd4fff548b13bcc1b88bfa7579fa7dbfd4b4ea09","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        for the account or container, or an empty list if none are set."},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        Returns 0-4 elements depending on how many keys are set in the"},{"line_number":401,"context_line":"        account\u0027s or container metadata."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"        Also validate that the request"},{"line_number":404,"context_line":"        path indicates a valid container; if not, no keys will be returned."}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_a2001402","line":401,"updated":"2015-02-10 21:33:43.000000000","message":"*account\u0027s or container\u0027s","commit_id":"74e393e7eb26be2051e8a25d5dfcb6e0df52e20c"}],"swift/common/middleware/tempurl.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"585c8c0d723f9eef7076aac812d315756faeaf1e","unresolved":false,"context_lines":[{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def _get_hmacs(self, env, expires, keys, request_method\u003dNone):"},{"line_number":434,"context_line":"        \"\"\""},{"line_number":435,"context_line":"        :param env: The WSGI envisronment for the request."},{"line_number":436,"context_line":"        :param expires: Unix timestamp as an int for when the URL"},{"line_number":437,"context_line":"                        expires."},{"line_number":438,"context_line":"        :param keys: Key strings, from the X-Account-Meta-Temp-URL-Key[-2] of"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_c858f959","line":435,"updated":"2015-02-10 01:10:46.000000000","message":"s/s//","commit_id":"d60009b2e884bf846e85c6438c273b1892a4e59c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"60a224e372ac05895090e9abb32b7be758c95a08","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        \"\"\""},{"line_number":426,"context_line":"        account_info \u003d get_account_info(env, self.app, swift_source\u003d\u0027TU\u0027)"},{"line_number":427,"context_line":"        account_keys \u003d get_tempurl_keys_from_metadata(account_info[\u0027meta\u0027])"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"        container_info \u003d get_container_info(env, self.app, swift_source\u003d\u0027FP\u0027)"},{"line_number":430,"context_line":"        container_keys \u003d get_tempurl_keys_from_metadata("},{"line_number":431,"context_line":"            container_info.get(\u0027meta\u0027, []))"}],"source_content_type":"text/x-python","patch_set":9,"id":"da86d52c_21be02d5","line":428,"updated":"2015-02-10 09:59:15.000000000","message":"swift_source should be \u0027TU\u0027 here","commit_id":"a9ea38a70ccb7611d73d63a97c331117979f3ef4"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"98789f58fb989ca33cda42fa3157d2abc4de4c8b","unresolved":false,"context_lines":[{"line_number":413,"context_line":"    def _get_keys(self, env, account):"},{"line_number":414,"context_line":"        \"\"\""},{"line_number":415,"context_line":"        Returns the X-Account-Meta-Temp-URL-Key[-2] header values for the"},{"line_number":416,"context_line":"        account, or an empty list if none is set."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        Returns 0, 1, or 2 elements depending on how many keys are set"},{"line_number":419,"context_line":"        in the account\u0027s metadata."}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_5c69018b","line":416,"updated":"2015-02-10 21:01:48.000000000","message":"while you\u0027re in there, could you s/is set/are set/ please?","commit_id":"5b171daa1e8e57a4114af1c2b6cc682e48f5faf0"},{"author":{"_account_id":9625,"name":"Thiago da Silva","email":"thiagodasilva@gmail.com","username":"thiago"},"change_message_id":"95422d0e93412d28f06fbd8525e51c178552c763","unresolved":false,"context_lines":[{"line_number":416,"context_line":"        account, or an empty list if none is set."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        Returns 0, 1, or 2 elements depending on how many keys are set"},{"line_number":419,"context_line":"        in the account\u0027s metadata."},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        :param env: The WSGI environment for the request."},{"line_number":422,"context_line":"        :param account: Account str."}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_dc6b31b7","line":419,"updated":"2015-02-10 20:37:19.000000000","message":"nit: update docs","commit_id":"5b171daa1e8e57a4114af1c2b6cc682e48f5faf0"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"fd4fff548b13bcc1b88bfa7579fa7dbfd4b4ea09","unresolved":false,"context_lines":[{"line_number":416,"context_line":"        for the account or container, or an empty list if none are set."},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"        Returns 0-4 elements depending on how many keys are set in the"},{"line_number":419,"context_line":"        account\u0027s or container metadata."},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"        :param env: The WSGI environment for the request."},{"line_number":422,"context_line":"        :param account: Account str."}],"source_content_type":"text/x-python","patch_set":12,"id":"da86d52c_621a9c70","line":419,"updated":"2015-02-10 21:33:43.000000000","message":"*account\u0027s or container\u0027s","commit_id":"74e393e7eb26be2051e8a25d5dfcb6e0df52e20c"}],"test/unit/common/middleware/test_tempurl.py":[{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"98789f58fb989ca33cda42fa3157d2abc4de4c8b","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        container_cache_key \u003d \u0027swift.container/\u0027 + account + \u0027/c\u0027"},{"line_number":101,"context_line":"        if container_cache_key not in environ:"},{"line_number":102,"context_line":"            environ[container_cache_key] \u003d {\u0027meta\u0027: {}}"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_passthrough(self):"},{"line_number":105,"context_line":"        resp \u003d self._make_request(\u0027/v1/a/c/o\u0027).get_response(self.tempurl)"}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_5cd8211e","line":102,"updated":"2015-02-10 21:01:48.000000000","message":"this is why Guido invented .setdefault()  :)","commit_id":"5b171daa1e8e57a4114af1c2b6cc682e48f5faf0"}]}
