]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - src/allmydata/scripts/tahoe_add_alias.py
CLI: simplify argument-passing, use options= for everthing, including stdout
[tahoe-lafs/tahoe-lafs.git] / src / allmydata / scripts / tahoe_add_alias.py
1
2 import os.path
3 from allmydata import uri
4 from allmydata.scripts.common import get_aliases
5
6 def add_alias(options):
7     nodedir = options['node-directory']
8     alias = options.alias
9     cap = options.cap
10     stdout = options.stdout
11     stderr = options.stderr
12     aliasfile = os.path.join(nodedir, "private", "aliases")
13     cap = uri.from_string_dirnode(cap).to_string()
14     assert ":" not in alias
15     assert " " not in alias
16     # probably check for others..
17     f = open(aliasfile, "a")
18     f.write("%s: %s\n" % (alias, cap))
19     f.close()
20     print >>stdout, "Alias '%s' added" % (alias,)
21     return 0
22
23 def list_aliases(options):
24     nodedir = options['node-directory']
25     stdout = options.stdout
26     stderr = options.stderr
27     aliases = get_aliases(nodedir)
28     alias_names = sorted(aliases.keys())
29     max_width = max([len(name) for name in alias_names] + [0])
30     fmt = "%" + str(max_width) + "s: %s"
31     for name in alias_names:
32         print >>stdout, fmt % (name, aliases[name])
33