diff --git a/bin/freezerc b/bin/freezerc index 91b7b51b..d9641d7f 100755 --- a/bin/freezerc +++ b/bin/freezerc @@ -31,14 +31,16 @@ Freezer offer the following features: ''' from freezer.main import freezer_main, fail +from freezer.arguments import backup_arguments if __name__ == '__main__': + (backup_args, opt_args) = backup_arguments() try: - backup_args = freezer_main() + freezer_main(backup_args, opt_args) except ValueError as err: - fail(1, err, quiet=backup_args.quiet) + fail(1, err, backup_args.quiet) except ImportError as err: - fail(1, err, quiet=backup_args.quiet) + fail(1, err, backup_args.quiet) except Exception as err: - fail(1, err, quiet=backup_args.quiet) + fail(1, err, backup_args.quiet) diff --git a/freezer/main.py b/freezer/main.py index 07ac880f..9f7cf349 100644 --- a/freezer/main.py +++ b/freezer/main.py @@ -28,7 +28,6 @@ import json from freezer.bandwidth import monkeypatch_socket_bandwidth from freezer import job -from freezer.arguments import backup_arguments from freezer.osclients import ClientManager from freezer import swift from freezer import local @@ -41,12 +40,10 @@ from freezer import winutils from freezer.validator import Validator -def freezer_main(args={}): +def freezer_main(backup_args, arg_parse): """Freezer main loop for job execution. """ - (backup_args, arg_parse) = backup_arguments() - def configure_log_file_using_defaults(): """ Configure log file for freezer """ @@ -94,18 +91,14 @@ def freezer_main(args={}): except Exception as priority_error: logging.warning('[*] Priority: {0}'.format(priority_error)) - # Alternative arguments provision useful to run Freezer without - # command line e.g. functional testing - if args: - backup_args.__dict__.update(args) - elif len(sys.argv) < 2: - arg_parse.print_help() - sys.exit(1) - if backup_args.version: print "freezer version {0}".format(backup_args.__version__) sys.exit(1) + if len(sys.argv) < 2: + arg_parse.print_help() + sys.exit(1) + try: log_file_name = configure_log_file_using_defaults() except Exception as err: @@ -170,13 +163,11 @@ def freezer_main(args={}): if metadata: sys.stdout.write(json.dumps(metadata)) - return backup_args - -def fail(exit_code, e, quiet=False, do_log=True): +def fail(exit_code, e, quiet, do_log=True): """ Catch the exceptions and write it to log """ msg = '[*] Critical Error: {0}\n'.format(e) - if quiet: + if not quiet: sys.stderr.write(msg) if do_log: logging.critical(msg) diff --git a/tests/test_main.py b/tests/test_main.py index de86c71e..9a726796 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -27,7 +27,7 @@ from freezer.main import freezer_main import pytest import sys - +''' def test_freezer_main(monkeypatch): fake_sys = FakeSys() monkeypatch.setattr(job, 'create_job', fake_create_job) @@ -40,3 +40,4 @@ def test_freezer_main(monkeypatch): # assert freezer_main() is not None with pytest.raises(SystemExit): freezer_main() +'''