From fb40b55bc3929084eaa27d87003de47b9bf24a95 Mon Sep 17 00:00:00 2001 From: Brian Warner <warner@lothar.com> Date: Sat, 7 Jul 2007 22:06:22 -0700 Subject: [PATCH] web: replace welcome-page download-URI form with new version --- src/allmydata/web/welcome.xhtml | 2 +- src/allmydata/webish.py | 35 ++++++++++++--------------------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/src/allmydata/web/welcome.xhtml b/src/allmydata/web/welcome.xhtml index 249ea61d..7cf232b5 100644 --- a/src/allmydata/web/welcome.xhtml +++ b/src/allmydata/web/welcome.xhtml @@ -34,7 +34,7 @@ </table> </div> -<div n:render="forms"/> +<div n:render="download_form"/> </body> </html> diff --git a/src/allmydata/webish.py b/src/allmydata/webish.py index 2951787b..7be89801 100644 --- a/src/allmydata/webish.py +++ b/src/allmydata/webish.py @@ -13,7 +13,7 @@ from allmydata.dirnode import FileNode from allmydata import upload, download from zope.interface import implements, Interface import urllib -from formless import annotate, webform +from formless import webform def getxmlfile(name): return loaders.xmlfile(util.sibpath(__file__, "web/%s" % name)) @@ -956,27 +956,18 @@ class Root(rend.Page): # this is a form where users can download files by URI - def bind_download(self, ctx): - uriarg = annotate.Argument("uri", - annotate.String("URI of file to download: ")) - namearg = annotate.Argument("filename", - annotate.String("Filename to download as: ")) - ctxarg = annotate.Argument("ctx", annotate.Context()) - meth = annotate.Method(arguments=[uriarg, namearg, ctxarg], - label="Download File by URI") - # buttons always use value=data.label - # MethodBindingRenderer uses value=(data.action or data.label) - return annotate.MethodBinding("download", meth, action="Download") - - def download(self, uri, filename, ctx): - log.msg("webish downloading URI") - target = url.here.sibling("download_uri").add("uri", uri) - if filename: - target = target.add("filename", filename) - return target - - def render_forms(self, ctx, data): - return webform.renderForms() + def render_download_form(self, ctx, data): + form = T.form(action="uri", method="get", + enctype="multipart/form-data")[ + T.fieldset[ + T.legend(class_="freeform-form-label")["Download a file"], + "URI of file to download: ", + T.input(type="text", name="uri"), " ", + "Filename to download as: ", + T.input(type="text", name="filename"), " ", + T.input(type="submit", value="Download"), + ]] + return T.div[form] class WebishServer(service.MultiService): -- 2.45.2