]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blobdiff - src/allmydata/scripts/tahoe_add_alias.py
Aliases are Unicode.
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / scripts / tahoe_add_alias.py
index a3ae184362d38a01469e7dc45dd8b404c058fa27..30794429e22d3590bf3de686963e42edb6824707 100644 (file)
@@ -1,6 +1,9 @@
 
 import os.path
 import codecs
+
+from allmydata.util.assertutil import precondition
+
 from allmydata import uri
 from allmydata.scripts.common_http import do_http, check_http_error
 from allmydata.scripts.common import get_aliases
@@ -29,11 +32,17 @@ def add_line_to_aliasfile(aliasfile, alias, cap):
 def add_alias(options):
     nodedir = options['node-directory']
     alias = options.alias
+    precondition(isinstance(alias, unicode), alias=alias)
     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:
@@ -51,10 +60,16 @@ def create_alias(options):
     # mkdir+add_alias
     nodedir = options['node-directory']
     alias = options.alias
+    precondition(isinstance(alias, unicode), alias=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: