mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 23:48:56 +01:00
Handle situation where default config directory or file does not exist
- Include khoj_sample.yml in pip package to load default config from - Create khoj config directory if it doesn't exist - Load config from khoj_sample.yml if khoj.yml config doesn't exist
This commit is contained in:
parent
70b30a1720
commit
44fe70513a
3 changed files with 8 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
|||
include Readme.md
|
||||
include config/khoj_sample.yml
|
||||
graft src/interface/*
|
||||
prune src/interface/web/images*
|
||||
prune docs*
|
||||
|
|
|
@ -11,7 +11,7 @@ from src.interface.desktop.file_browser import FileBrowser
|
|||
from src.utils import constants, state, yaml as yaml_utils
|
||||
from src.utils.cli import cli
|
||||
from src.utils.config import SearchType, ProcessorType
|
||||
from src.utils.helpers import merge_dicts
|
||||
from src.utils.helpers import merge_dicts, resolve_absolute_path
|
||||
|
||||
|
||||
class ConfigureScreen(QtWidgets.QDialog):
|
||||
|
@ -27,8 +27,9 @@ class ConfigureScreen(QtWidgets.QDialog):
|
|||
self.config_file = config_file
|
||||
|
||||
# Load config from existing config, if exists, else load from default config
|
||||
self.current_config = yaml_utils.load_config_from_file(self.config_file)
|
||||
if self.current_config is None:
|
||||
if resolve_absolute_path(self.config_file).exists():
|
||||
self.current_config = yaml_utils.load_config_from_file(self.config_file)
|
||||
else:
|
||||
self.current_config = yaml_utils.load_config_from_file(constants.app_root_directory / 'config/khoj_sample.yml')
|
||||
self.new_config = self.current_config
|
||||
|
||||
|
|
|
@ -13,6 +13,9 @@ yaml.emitter.Emitter.process_tag = lambda self, *args, **kwargs: None
|
|||
|
||||
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(get_absolute_path(yaml_config_file), 'w', encoding='utf-8') as config_file:
|
||||
yaml.safe_dump(yaml_config, config_file, allow_unicode=True)
|
||||
|
||||
|
|
Loading…
Reference in a new issue