From: David-Sarah Hopwood Date: Thu, 15 Nov 2012 04:16:19 +0000 (+0000) Subject: web/unlinked.py: don't use % operator to expand %(uri)s. fixes #1860. X-Git-Tag: allmydata-tahoe-1.10a1~41 X-Git-Url: https://git.rkrishnan.org/pf/content/en/service/contact.html?a=commitdiff_plain;h=e097cf96b292f94856a40c59f4699d7401648746;p=tahoe-lafs%2Ftahoe-lafs.git web/unlinked.py: don't use % operator to expand %(uri)s. fixes #1860. Signed-off-by: David-Sarah Hopwood --- 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: