Coverage for databooks/config.py: 100%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

12 statements  

1"""Configuration functions, and settings objects.""" 

2from pathlib import Path 

3from typing import Any, Dict, List, Optional 

4 

5from databooks.common import find_common_parent, find_obj 

6from databooks.git_utils import get_repo 

7from databooks.logging import get_logger 

8 

9TOML_CONFIG_FILE = "pyproject.toml" 

10 

11ConfigFields = Dict[str, Any] 

12 

13logger = get_logger(__file__) 

14 

15 

16def get_config(target_paths: List[Path], config_filename: str) -> Optional[Path]: 

17 """Find configuration file from CLI target paths.""" 

18 common_parent = find_common_parent(paths=target_paths) 

19 repo_dir = get_repo().working_dir 

20 

21 return find_obj( 

22 obj_name=config_filename, 

23 start=Path(repo_dir) if repo_dir is not None else Path(common_parent.anchor), 

24 finish=common_parent, 

25 )