mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-08 03:14:21 +00:00
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'
This commit is contained in:
parent
0042881736
commit
8f28d64d77
@ -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 = {
|
||||
|
17
src/allmydata/scripts/tahoe_webopen.py
Normal file
17
src/allmydata/scripts/tahoe_webopen.py
Normal file
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user