tahoe_add_alias.py: minor refactoring

This commit is contained in:
Brian Warner 2010-01-14 22:42:20 -08:00
parent 9ab7524f0d
commit bb4883bbd4

View File

@ -5,6 +5,24 @@ from allmydata.scripts.common_http import do_http, check_http_error
from allmydata.scripts.common import get_aliases
from allmydata.util.fileutil import move_into_place
def add_line_to_aliasfile(aliasfile, alias, cap):
# we use os.path.exists, rather than catching EnvironmentError, to avoid
# clobbering the valuable alias file in case of spurious or transient
# filesystem errors.
if os.path.exists(aliasfile):
f = open(aliasfile, "r")
aliases = f.read()
f.close()
if not aliases.endswith("\n"):
aliases += "\n"
else:
aliases = ""
aliases += "%s: %s\n" % (alias, cap)
f = open(aliasfile+".tmp", "w")
f.write(aliases)
f.close()
move_into_place(aliasfile+".tmp", aliasfile)
def add_alias(options):
nodedir = options['node-directory']
alias = options.alias
@ -21,22 +39,7 @@ def add_alias(options):
aliasfile = os.path.join(nodedir, "private", "aliases")
cap = uri.from_string_dirnode(cap).to_string()
# we use os.path.exists, rather than catching EnvironmentError, to avoid
# clobbering the valuable alias file in case of spurious or transient
# filesystem errors.
if os.path.exists(aliasfile):
f = open(aliasfile, "r")
aliases = f.read()
f.close()
if not aliases.endswith("\n"):
aliases += "\n"
else:
aliases = ""
aliases += "%s: %s\n" % (alias, cap)
f = open(aliasfile+".tmp", "w")
f.write(aliases)
f.close()
move_into_place(aliasfile+".tmp", aliasfile)
add_line_to_aliasfile(aliasfile, alias, cap)
print >>stdout, "Alias '%s' added" % (alias,)
return 0
@ -69,20 +72,7 @@ def create_alias(options):
# probably check for others..
# see above about EnvironmentError
if os.path.exists(aliasfile):
f = open(aliasfile, "r")
aliases = f.read()
f.close()
if not aliases.endswith("\n"):
aliases += "\n"
else:
aliases = ""
aliases += "%s: %s\n" % (alias, new_uri)
f = open(aliasfile+".tmp", "w")
f.write(aliases)
f.close()
move_into_place(aliasfile+".tmp", aliasfile)
add_line_to_aliasfile(aliasfile, alias, new_uri)
print >>stdout, "Alias '%s' created" % (alias,)
return 0