Merge pull request #1830 from hroff-1902/python-version
check python version
This commit is contained in:
		| @@ -3,8 +3,14 @@ | ||||
| Main Freqtrade bot script. | ||||
| Read the documentation to know what cli arguments you need. | ||||
| """ | ||||
| import logging | ||||
|  | ||||
| import sys | ||||
| # check min. python version | ||||
| if sys.version_info < (3, 6): | ||||
|     sys.exit("Freqtrade requires Python version >= 3.6") | ||||
|  | ||||
| # flake8: noqa E402 | ||||
| import logging | ||||
| from argparse import Namespace | ||||
| from typing import List | ||||
|  | ||||
| @@ -22,24 +28,26 @@ def main(sysargv: List[str]) -> None: | ||||
|     This function will initiate the bot and start the trading loop. | ||||
|     :return: None | ||||
|     """ | ||||
|     arguments = Arguments( | ||||
|         sysargv, | ||||
|         'Free, open source crypto trading bot' | ||||
|     ) | ||||
|     args: Namespace = arguments.get_parsed_arg() | ||||
|  | ||||
|     # A subcommand has been issued. | ||||
|     # Means if Backtesting or Hyperopt have been called we exit the bot | ||||
|     if hasattr(args, 'func'): | ||||
|         args.func(args) | ||||
|         return | ||||
|  | ||||
|     worker = None | ||||
|     return_code = 1 | ||||
|     try: | ||||
|         # Load and run worker | ||||
|         worker = Worker(args) | ||||
|         worker.run() | ||||
|         worker = None | ||||
|         return_code = 1 | ||||
|  | ||||
|         arguments = Arguments( | ||||
|             sysargv, | ||||
|             'Free, open source crypto trading bot' | ||||
|         ) | ||||
|         args: Namespace = arguments.get_parsed_arg() | ||||
|  | ||||
|         # A subcommand has been issued. | ||||
|         # Means if Backtesting or Hyperopt have been called we exit the bot | ||||
|         if hasattr(args, 'func'): | ||||
|             args.func(args) | ||||
|             # TODO: fetch return_code as returned by the command function here | ||||
|             return_code = 0 | ||||
|         else: | ||||
|             # Load and run worker | ||||
|             worker = Worker(args) | ||||
|             worker.run() | ||||
|  | ||||
|     except KeyboardInterrupt: | ||||
|         logger.info('SIGINT received, aborting ...') | ||||
|   | ||||
| @@ -20,7 +20,9 @@ def test_parse_args_backtesting(mocker) -> None: | ||||
|     further argument parsing is done in test_arguments.py | ||||
|     """ | ||||
|     backtesting_mock = mocker.patch('freqtrade.optimize.start_backtesting', MagicMock()) | ||||
|     main(['backtesting']) | ||||
|     # it's sys.exit(0) at the end of backtesting | ||||
|     with pytest.raises(SystemExit): | ||||
|         main(['backtesting']) | ||||
|     assert backtesting_mock.call_count == 1 | ||||
|     call_args = backtesting_mock.call_args[0][0] | ||||
|     assert call_args.config == ['config.json'] | ||||
| @@ -33,7 +35,9 @@ def test_parse_args_backtesting(mocker) -> None: | ||||
|  | ||||
| def test_main_start_hyperopt(mocker) -> None: | ||||
|     hyperopt_mock = mocker.patch('freqtrade.optimize.start_hyperopt', MagicMock()) | ||||
|     main(['hyperopt']) | ||||
|     # it's sys.exit(0) at the end of hyperopt | ||||
|     with pytest.raises(SystemExit): | ||||
|         main(['hyperopt']) | ||||
|     assert hyperopt_mock.call_count == 1 | ||||
|     call_args = hyperopt_mock.call_args[0][0] | ||||
|     assert call_args.config == ['config.json'] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user