From e097cf96b292f94856a40c59f4699d7401648746 Mon Sep 17 00:00:00 2001 From: David-Sarah Hopwood <david-sarah@jacaranda.org> Date: Thu, 15 Nov 2012 04:16:19 +0000 Subject: [PATCH] web/unlinked.py: don't use % operator to expand %(uri)s. fixes #1860. Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org> --- src/allmydata/test/test_web.py | 3 ++- src/allmydata/web/unlinked.py | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/allmydata/test/test_web.py b/src/allmydata/test/test_web.py index d52ce676..146fdf2c 100644 --- a/src/allmydata/test/test_web.py +++ b/src/allmydata/test/test_web.py @@ -2117,10 +2117,11 @@ class Web(WebMixin, WebErrorMixin, testutil.StallMixin, testutil.ReallyEqualMixi self.failUnlessReallyEqual(statuscode, str(http.FOUND)) self.failUnless(target.startswith(self.webish_url), target) return client.getPage(target, method="GET") + # We encode "uri" as "%75ri" to exercise a case affected by ticket #1860. d = self.shouldRedirect2("test_POST_upload_no_link_whendone_results", check, self.POST, "/uri", t="upload", - when_done="/uri/%(uri)s", + when_done="/%75ri/%(uri)s", file=("new.txt", self.NEWFILE_CONTENTS)) d.addCallback(lambda res: self.failUnlessReallyEqual(res, self.NEWFILE_CONTENTS)) diff --git a/src/allmydata/web/unlinked.py b/src/allmydata/web/unlinked.py index 64ebec7b..8a84a402 100644 --- a/src/allmydata/web/unlinked.py +++ b/src/allmydata/web/unlinked.py @@ -50,8 +50,7 @@ def POSTUnlinkedCHK(req, client): # usual upload-results page def _done(upload_results, redir_to): if "%(uri)s" in redir_to: - redir_to = redir_to % {"uri": urllib.quote(upload_results.get_uri()) - } + redir_to = redir_to.replace("%(uri)s", urllib.quote(upload_results.get_uri())) return url.URL.fromString(redir_to) d.addCallback(_done, when_done) else: -- 2.45.2