Coverage for src / qdrant_loader / cli / commands / config_cmd.py: 0%

24 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-06-11 09:38 +0000

1from __future__ import annotations 

2 

3from pathlib import Path 

4 

5from click.exceptions import ClickException 

6from click.utils import echo 

7 

8from qdrant_loader.cli.commands.config import run_show_config as _run_show_config 

9from qdrant_loader.cli.config_loader import setup_workspace as _setup_workspace_impl 

10from qdrant_loader.utils.logging import LoggingConfig 

11 

12 

13def run_config_command( 

14 workspace: Path | None, log_level: str, config: Path | None, env: Path | None 

15) -> None: 

16 """Implementation for the `config` CLI command.""" 

17 try: 

18 # Maintain test expectation: log via workspace-logger as before 

19 workspace_config = _setup_workspace_impl(workspace) if workspace else None 

20 log_file = ( 

21 str(workspace_config.logs_path / "config.log") 

22 if workspace_config 

23 else "qdrant-loader.log" 

24 ) 

25 if getattr(LoggingConfig, "reconfigure", None): # type: ignore[attr-defined] 

26 if getattr(LoggingConfig, "_initialized", False): # type: ignore[attr-defined] 

27 LoggingConfig.reconfigure(file=log_file, level=log_level) # type: ignore[attr-defined] 

28 else: 

29 LoggingConfig.setup(level=log_level, format="console", file=log_file) 

30 else: 

31 import logging as _py_logging 

32 

33 _py_logging.getLogger().handlers = [] 

34 LoggingConfig.setup(level=log_level, format="console", file=log_file) 

35 

36 echo("Current Configuration:") 

37 output = _run_show_config(workspace, config, env, log_level) 

38 echo(output) 

39 

40 except Exception as e: 

41 LoggingConfig.get_logger(__name__).error("config_failed", error=str(e)) 

42 raise ClickException(f"Failed to display configuration: {str(e)!s}") from e