]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
CLI: make 'tahoe create-alias' and 'tahoe add-alias' accept a trailing colon on the...
authordavid-sarah <david-sarah@jacaranda.org>
Fri, 14 Jan 2011 03:44:14 +0000 (19:44 -0800)
committerdavid-sarah <david-sarah@jacaranda.org>
Fri, 14 Jan 2011 03:44:14 +0000 (19:44 -0800)
NEWS
docs/frontends/CLI.rst
src/allmydata/scripts/cli.py
src/allmydata/scripts/tahoe_add_alias.py

diff --git a/NEWS b/NEWS
index 18f90bac7aadc6610882d288a44b52d52f4e5c83..6ff38003d31fb9c0385ebf0ae7823867ed9a153a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,8 @@
  - 'top' on some Unix platforms, e.g. Linux, now shows node processes as
    'tahoe' instead of 'python'. (#174)
  - Improve HTML formatting of the WUI. (#1219)
+ - The 'tahoe create-alias' and 'tahoe add-alias' commands now accept a
+   trailing colon on the alias. (#1305)
 
 ** Removals
 
index 2026416eb6039705702909d1e32dc00aa830c952..4b518e183c3d0dcb207e24c44188f6cc5c8720dc 100644 (file)
@@ -247,9 +247,9 @@ access to your files and directories.
 Command Syntax Summary
 ----------------------
 
-``tahoe add-alias ALIAS DIRCAP``
+``tahoe add-alias ALIAS[:] DIRCAP``
 
-``tahoe create-alias ALIAS``
+``tahoe create-alias ALIAS[:]``
 
 ``tahoe list-aliases``
 
@@ -290,7 +290,7 @@ In these summaries, ``PATH``, ``TOPATH`` or ``FROMPATH`` can be one of:
 Command Examples
 ----------------
 
-``tahoe add-alias ALIAS DIRCAP``
+``tahoe add-alias ALIAS[:] DIRCAP``
 
  An example would be::
 
@@ -301,6 +301,9 @@ Command Examples
  directory. Use "``tahoe add-alias tahoe DIRCAP``" to set the contents of the
  default ``tahoe:`` alias.
 
+ Since Tahoe-LAFS v1.8.2, the alias name can be given with or without the
+ trailing colon.
+
 ``tahoe create-alias fun``
 
  This combines "``tahoe mkdir``" and "``tahoe add-alias``" into a single step.
index 8a3d4180698cdea174def5e61f10b6484ff50b60..51119c1a4e0fd45719220562d2c6ddc0085b3792 100644 (file)
@@ -57,19 +57,23 @@ class MakeDirectoryOptions(VDriveOptions):
 class AddAliasOptions(VDriveOptions):
     def parseArgs(self, alias, cap):
         self.alias = argv_to_unicode(alias)
+        if self.alias.endswith(u':'):
+            self.alias = self.alias[:-1]
         self.cap = cap
 
     def getSynopsis(self):
-        return "%s add-alias ALIAS DIRCAP" % (os.path.basename(sys.argv[0]),)
+        return "%s add-alias ALIAS[:] DIRCAP" % (os.path.basename(sys.argv[0]),)
 
     longdesc = """Add a new alias for an existing directory."""
 
 class CreateAliasOptions(VDriveOptions):
     def parseArgs(self, alias):
         self.alias = argv_to_unicode(alias)
+        if self.alias.endswith(u':'):
+            self.alias = self.alias[:-1]
 
     def getSynopsis(self):
-        return "%s create-alias ALIAS" % (os.path.basename(sys.argv[0]),)
+        return "%s create-alias ALIAS[:]" % (os.path.basename(sys.argv[0]),)
 
     longdesc = """Create a new directory and add an alias for it."""
 
index a3ae184362d38a01469e7dc45dd8b404c058fa27..f3ed15c4ad49ba617a2f0876032ab6af1241ce58 100644 (file)
@@ -32,8 +32,13 @@ def add_alias(options):
     cap = options.cap
     stdout = options.stdout
     stderr = options.stderr
-    assert ":" not in alias
-    assert " " not in alias
+    if u":" in alias:
+        # a single trailing colon will already have been stripped if present
+        print >>stderr, "Alias names cannot contain colons."
+        return 1
+    if u" " in alias:
+        print >>stderr, "Alias names cannot contain spaces."
+        return 1
 
     old_aliases = get_aliases(nodedir)
     if alias in old_aliases:
@@ -53,8 +58,13 @@ def create_alias(options):
     alias = options.alias
     stdout = options.stdout
     stderr = options.stderr
-    assert ":" not in alias
-    assert " " not in alias
+    if u":" in alias:
+        # a single trailing colon will already have been stripped if present
+        print >>stderr, "Alias names cannot contain colons."
+        return 1
+    if u" " in alias:
+        print >>stderr, "Alias names cannot contain spaces."
+        return 1
 
     old_aliases = get_aliases(nodedir)
     if alias in old_aliases: