mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-02 21:19:12 +00:00
- Why The khoj pypi packages should be installed in `khoj' directory. Previously it was being installed into `src' directory, which is a generic top level directory name that is discouraged from being used - Changes - move src/* to src/khoj/* - update `setup.py' to `find_packages' in `src' instead of project root - rename imports to form `from khoj.*' in complete project - update `constants.web_directory' path to use `khoj' directory - rename root logger to `khoj' in `main.py' - fix image_search tests to use the newly rename `khoj' logger - update config, docs, workflows to reference new path `src/khoj'
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
# Standard Packages
|
|
from pathlib import Path
|
|
|
|
# External Packages
|
|
import yaml
|
|
|
|
# Internal Packages
|
|
from khoj.utils.rawconfig import FullConfig
|
|
|
|
|
|
# Do not emit tags when dumping to YAML
|
|
yaml.emitter.Emitter.process_tag = lambda self, *args, **kwargs: None # type: ignore[assignment]
|
|
|
|
|
|
def save_config_to_file(yaml_config: dict, yaml_config_file: Path):
|
|
"Write config to YML file"
|
|
# Create output directory, if it doesn't exist
|
|
yaml_config_file.parent.mkdir(parents=True, exist_ok=True)
|
|
|
|
with open(yaml_config_file, 'w', encoding='utf-8') as config_file:
|
|
yaml.safe_dump(yaml_config, config_file, allow_unicode=True)
|
|
|
|
|
|
def load_config_from_file(yaml_config_file: Path) -> dict:
|
|
"Read config from YML file"
|
|
config_from_file = None
|
|
with open(yaml_config_file, 'r', encoding='utf-8') as config_file:
|
|
config_from_file = yaml.safe_load(config_file)
|
|
return config_from_file
|
|
|
|
|
|
def parse_config_from_string(yaml_config: dict) -> FullConfig:
|
|
"Parse and validate config in YML string"
|
|
return FullConfig.parse_obj(yaml_config)
|
|
|
|
|
|
def parse_config_from_file(yaml_config_file):
|
|
"Parse and validate config in YML file"
|
|
return parse_config_from_string(load_config_from_file(yaml_config_file))
|