|
@@ -866,6 +866,11 @@ def usage(network):
|
|
|
" ".join(x for x in dir(network) if not x.startswith("_")))])
|
|
|
|
|
|
|
|
|
+def exit_on_error(err_msg):
|
|
|
+ print "Error: {0}\n".format(err_msg)
|
|
|
+ print usage(_THE_NETWORK)
|
|
|
+ sys.exit(1)
|
|
|
+
|
|
|
def runConfigFile(verb, f):
|
|
|
_GLOBALS = dict(_BASE_ENVIRON=_BASE_ENVIRON,
|
|
|
Node=Node,
|
|
@@ -883,6 +888,13 @@ def runConfigFile(verb, f):
|
|
|
return getattr(network, verb)()
|
|
|
|
|
|
|
|
|
+def parseArgs():
|
|
|
+ if len(sys.argv) < 3:
|
|
|
+ exit_on_error("Not enough arguments given.")
|
|
|
+ if not os.path.isfile(sys.argv[2]):
|
|
|
+ exit_on_error("Cannot find networkfile: {0}.".format(sys.argv[2]))
|
|
|
+ return {'network_cfg': sys.argv[2], 'action': sys.argv[1]}
|
|
|
+
|
|
|
def main():
|
|
|
global _BASE_ENVIRON
|
|
|
global _TORRC_OPTIONS
|
|
@@ -894,13 +906,9 @@ def main():
|
|
|
_TORRC_OPTIONS = dict()
|
|
|
_THE_NETWORK = Network(_BASE_ENVIRON)
|
|
|
|
|
|
- if len(sys.argv) < 3:
|
|
|
- print usage(_THE_NETWORK)
|
|
|
- print "Error: Not enough arguments given."
|
|
|
- sys.exit(1)
|
|
|
-
|
|
|
- f = open(sys.argv[2])
|
|
|
- result = runConfigFile(sys.argv[1], f)
|
|
|
+ args = parseArgs()
|
|
|
+ f = open(args['network_cfg'])
|
|
|
+ result = runConfigFile(args['action'], f)
|
|
|
if result is False:
|
|
|
return -1
|
|
|
return 0
|