summaryrefslogtreecommitdiff
path: root/ybd/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'ybd/app.py')
-rw-r--r--ybd/app.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/ybd/app.py b/ybd/app.py
index 3000847..d106d60 100644
--- a/ybd/app.py
+++ b/ybd/app.py
@@ -128,20 +128,17 @@ def warning_handler(message, category, filename, lineno, file=None, line=None):
return 'WARNING: %s\n' % (message)
-def setup(args, original_cwd=""):
+def setup(program, target, arch, mode, original_cwd=""):
os.environ['LANG'] = 'en_US.UTF-8'
config['start-time'] = datetime.datetime.now()
- config['program'] = os.path.basename(args[0])
+ config['program'] = os.path.basename(program)
config['my-version'] = get_version(os.path.dirname(__file__))
log('SETUP', '%s version is' % config['program'], config['my-version'])
- if len(args) != 3:
- sys.stdout.write("\nUsage: %s DEFINITION_FILE ARCH\n\n" % sys.argv[0])
- sys.exit(1)
-
- log('SETUP', 'Running %s in' % args[0], os.getcwd())
- config['arg'] = args[1]
- config['target'] = os.path.basename(os.path.splitext(args[1])[0])
- config['arch'] = args[2]
+
+ log('SETUP', 'Running %s in' % program, os.getcwd())
+ config['filename'] = os.path.basename(target)
+ config['target'] = os.path.basename(os.path.splitext(target)[0])
+ config['arch'] = arch
config['sandboxes'] = []
config['overlaps'] = []
config['new-overlaps'] = []
@@ -164,8 +161,13 @@ def setup(args, original_cwd=""):
os.path.join(os.path.dirname(__file__), '..', 'ybd.conf'),
os.path.join(os.path.dirname(__file__), 'config', 'ybd.conf')])
+ # After loading configuration, override the 'mode' configuration only
+ # if it was specified on the command line
+ if mode is not None:
+ config['mode'] = mode
+
if not os.geteuid() == 0 and config.get('mode') == 'normal':
- log('SETUP', '%s needs root permissions' % sys.argv[0], exit=True)
+ log('SETUP', '%s needs root permissions' % program, exit=True)
if config.get('kbas-url', 'http://foo.bar/') == 'http://foo.bar/':
config.pop('kbas-url')