osbuild: pass arguments to main() explicitly

This commit is contained in:
Lars Karlitski 2019-06-13 16:12:31 +02:00
parent 0178cce4ee
commit 48f8a7fc2a

13
osbuild
View file

@ -121,11 +121,11 @@ def run_stage_interactive(i, name, options, buildroot, input_dir=None, output_di
return True
def main(pipeline_path, input_dir, output_dir, sit):
def run_interactive(pipeline_path, input_dir, output_dir, sit):
if output_dir and len(os.listdir(output_dir)) != 0:
print()
print(f"{RESET}{BOLD}{RED}Output directory {output_dir} is not empty{RESET}")
return 1
return False
with open(pipeline_path) as f:
pipeline = json.load(f)
@ -135,14 +135,16 @@ def main(pipeline_path, input_dir, output_dir, sit):
name = stage["name"]
options = stage.get("options", {})
if not run_stage_interactive(i, name, options, buildroot, input_dir=input_dir, sit=sit):
return 1
return False
assembler = pipeline.get("assembler")
if assembler:
name = assembler["name"]
options = assembler.get("options", {})
if not run_stage_interactive("A", name, options, buildroot, output_dir=output_dir, sit=sit):
return 1
return False
return True
if __name__ == "__main__":
@ -157,4 +159,5 @@ if __name__ == "__main__":
help="keep the build environment up when a stage failed")
args = parser.parse_args()
sys.exit(main(**vars(args)))
if not run_interactive(args.pipeline_path, args.input_dir, args.output_dir, args.sit):
sys.exit(1)