feat: print version info on "-V" calls

closes #11222
This commit is contained in:
Matthias
2025-01-24 07:17:36 +01:00
parent 08b18b7ff6
commit 27a9cbf5e4
3 changed files with 13 additions and 5 deletions

View File

@@ -347,7 +347,7 @@ class Arguments:
self.parser = ArgumentParser(
prog="freqtrade", description="Free, open source crypto trading bot"
)
self._build_args(optionlist=["version"], parser=self.parser)
self._build_args(optionlist=["version_main"], parser=self.parser)
from freqtrade.commands import (
start_analysis_entries_exits,

View File

@@ -59,8 +59,13 @@ AVAILABLE_CLI_OPTIONS = {
"version": Arg(
"-V",
"--version",
action="version",
version=f"%(prog)s {__version__}",
action="store_true",
),
"version_main": Arg(
# Copy of version - used to have -V available with and without subcommand.
"-V",
"--version",
action="store_true",
),
"config": Arg(
"-c",

View File

@@ -18,7 +18,7 @@ from freqtrade.commands import Arguments
from freqtrade.constants import DOCS_LINK
from freqtrade.exceptions import ConfigurationError, FreqtradeException, OperationalException
from freqtrade.loggers import setup_logging_pre
from freqtrade.system import asyncio_setup, gc_set_threshold
from freqtrade.system import asyncio_setup, gc_set_threshold, print_version_info
logger = logging.getLogger("freqtrade")
@@ -38,7 +38,10 @@ def main(sysargv: list[str] | None = None) -> None:
args = arguments.get_parsed_arg()
# Call subcommand.
if "func" in args:
if args.get("version") or args.get("version_main"):
print_version_info()
return_code = 0
elif "func" in args:
logger.info(f"freqtrade {__version__}")
gc_set_threshold()
return_code = args["func"](args)