From 8f28d64d777940d8d145477ca828465d3ae883f2 Mon Sep 17 00:00:00 2001 From: robk-tahoe Date: Wed, 18 Jun 2008 13:19:40 -0700 Subject: [PATCH] cli: cleanup webopen command moved the body of webopen out of cli.py into tahoe_webopen.py made its invocation consistent with the other cli commands, most notably replacing its 'vdrive path' with the same alias parsing, allowing usage such as 'tahoe webopen private:Pictures/xti' --- src/allmydata/scripts/cli.py | 24 ++++++++---------------- src/allmydata/scripts/tahoe_webopen.py | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 src/allmydata/scripts/tahoe_webopen.py diff --git a/src/allmydata/scripts/cli.py b/src/allmydata/scripts/cli.py index 2de968bd..7e0e5865 100644 --- a/src/allmydata/scripts/cli.py +++ b/src/allmydata/scripts/cli.py @@ -189,8 +189,8 @@ class LnOptions(VDriveOptions): return "%s ln FROM TO" % (os.path.basename(sys.argv[0]),) class WebopenOptions(VDriveOptions): - def parseArgs(self, where=""): - self.where = where + def parseArgs(self, vdrive_pathname=""): + self['vdrive_pathname'] = vdrive_pathname longdesc = """Opens a webbrowser to the contents of some portion of the virtual drive.""" @@ -275,22 +275,14 @@ def ln(options): def webopen(options, opener=None): import urllib, webbrowser - from allmydata.scripts.common import get_alias, DEFAULT_ALIAS, escape_path - nodeurl = options['node-url'] + nodeurl = config['node-url'] if nodeurl[-1] != "/": nodeurl += "/" - where = options.where - if where.endswith("/"): - where = where[:-1] - rootcap, path = get_alias(options.aliases, where, DEFAULT_ALIAS) - url = nodeurl + "uri/%s" % urllib.quote(rootcap) - if path: - url += "/" + escape_path(path) - if url[-1] != "/": - url += "/" - if opener is None: - opener = webbrowser.open - opener(url) + root_cap = config.aliases["tahoe"] + url = nodeurl + "uri/%s/" % urllib.quote(root_cap) + if config['vdrive_pathname']: + url += urllib.quote(config['vdrive_pathname']) + webbrowser.open(url) return 0 dispatch = { diff --git a/src/allmydata/scripts/tahoe_webopen.py b/src/allmydata/scripts/tahoe_webopen.py new file mode 100644 index 00000000..92a3023c --- /dev/null +++ b/src/allmydata/scripts/tahoe_webopen.py @@ -0,0 +1,17 @@ + +from allmydata.scripts.common import get_alias, DEFAULT_ALIAS, escape_path + +def webopen(nodeurl, aliases, where, stdout, stderr): + import urllib, webbrowser + if not nodeurl.endswith("/"): + nodeurl += "/" + if where.endswith("/"): + where = where[:-1] + rootcap, path = get_alias(aliases, where, DEFAULT_ALIAS) + url = nodeurl + "uri/%s" % urllib.quote(rootcap) + if path: + # move where.endswith check here? + url += "/" + escape_path(path) + webbrowser.open(url) + return 0 + -- 2.45.2