From 9d443b8bd837cdc7d66abeb585b5d70927f08332 Mon Sep 17 00:00:00 2001 From: gcarq Date: Sat, 24 Mar 2018 20:54:46 +0100 Subject: [PATCH 1/3] fix reference before assignment --- freqtrade/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/freqtrade/main.py b/freqtrade/main.py index d2cfc6f9f..4bd9e63f6 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -40,6 +40,7 @@ def main(sysargv: List[str]) -> None: logging.getLevelName(args.loglevel) ) + freqtrade = None try: # Load and validate configuration configuration = Configuration(args) @@ -56,7 +57,8 @@ def main(sysargv: List[str]) -> None: except BaseException: logger.exception('Fatal exception!') finally: - freqtrade.clean() + if freqtrade: + freqtrade.clean() sys.exit(0) From 4c97ee45dd3237bd55450ac19506de6322ee9f76 Mon Sep 17 00:00:00 2001 From: gcarq Date: Sat, 24 Mar 2018 20:55:10 +0100 Subject: [PATCH 2/3] return None if subcommand has been executed --- freqtrade/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/freqtrade/main.py b/freqtrade/main.py index 4bd9e63f6..7b5678763 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -32,7 +32,7 @@ def main(sysargv: List[str]) -> None: # Means if Backtesting or Hyperopt have been called we exit the bot if hasattr(args, 'func'): args.func(args) - return 0 + return logger.info( 'Starting freqtrade %s (loglevel=%s)', From 3f4261ad1eea650556cef596a29cffe05605ba76 Mon Sep 17 00:00:00 2001 From: gcarq Date: Sat, 24 Mar 2018 20:56:27 +0100 Subject: [PATCH 3/3] use correct return_code if an error occured --- freqtrade/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/freqtrade/main.py b/freqtrade/main.py index 7b5678763..556b70708 100755 --- a/freqtrade/main.py +++ b/freqtrade/main.py @@ -41,6 +41,7 @@ def main(sysargv: List[str]) -> None: ) freqtrade = None + return_code = 1 try: # Load and validate configuration configuration = Configuration(args) @@ -54,12 +55,13 @@ def main(sysargv: List[str]) -> None: except KeyboardInterrupt: logger.info('SIGINT received, aborting ...') + return_code = 0 except BaseException: logger.exception('Fatal exception!') finally: if freqtrade: freqtrade.clean() - sys.exit(0) + sys.exit(return_code) def set_loggers() -> None: