-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.py
More file actions
52 lines (45 loc) · 2.2 KB
/
Copy pathconfig.py
File metadata and controls
52 lines (45 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# -*- coding: utf-8 -*-
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
# Common
PERSIST_DIRECTORY = '../db/chroma/'
PDF_PARSED_DIRECTORY = '../data/pdf/'
# CF
ENABLE_CONFLUENCE = os.environ.get("ENABLE_CONFLUENCE", "false").lower() == "true"
CONFLUENCE_API_TOKEN = os.environ['CONFLUENCE_API_TOKEN']
CONFLUENCE_SPACE_KEY = os.environ.get("CONFLUENCE_SPACE_KEY")
CONFLUENCE_SPACE_URL = os.environ['CONFLUENCE_SPACE_URL']
CONFLUENCE_USERNAME = os.environ['CONFLUENCE_USERNAME']
# LLM
OPEN_AI_API_KEY = os.environ['OPENAI_API_KEY'] if 'OPENAI_API_KEY' in os.environ else None
LLM_MODEL_NAME = os.environ['LLM_MODEL_NAME']
EMB_MODEL_MAME = os.environ['EMB_MODEL_MAME']
# Git repositories configuration
GIT_REPOS = {}
# Parse Git repositories from environment
# Format: GIT_REPO_<NAME>_ENABLED=true
# GIT_REPO_<NAME>_PATH=/path/to/repo
# GIT_REPO_<NAME>_URL=https://github.com/user/repo.git
# GIT_REPO_<NAME>_BRANCH=master
# GIT_REPO_<NAME>_EXCLUDE_FILES=file1,file2
# GIT_REPO_<NAME>_PARSER_TYPE=ansible
for env_var in os.environ:
if env_var.startswith('GIT_REPO_') and env_var.endswith('_ENABLED'):
repo_name = env_var.replace('GIT_REPO_', '').replace('_ENABLED', '').lower()
if os.environ.get(env_var, "false").lower() == "true":
GIT_REPOS[repo_name] = {
'enabled': True,
'path': os.environ.get(f'GIT_REPO_{repo_name.upper()}_PATH'),
'url': os.environ.get(f'GIT_REPO_{repo_name.upper()}_URL'),
'branch': os.environ.get(f'GIT_REPO_{repo_name.upper()}_BRANCH', 'master'),
'exclude_files': os.environ.get(f'GIT_REPO_{repo_name.upper()}_EXCLUDE_FILES', '').split(','),
'parser_type': os.environ.get(f'GIT_REPO_{repo_name.upper()}_PARSER_TYPE', 'ansible')
}
# YouTrack
ENABLE_YOUTRACK = os.environ.get("ENABLE_YOUTRACK", "false").lower() == "true"
YOUTRACK_URL = os.environ.get("YOUTRACK_URL")
YOUTRACK_TOKEN = os.environ.get("YOUTRACK_TOKEN")
YOUTRACK_PROJECTS = os.environ.get("YOUTRACK_PROJECTS") # comma string "PRJ,INF,ACC"
if YOUTRACK_PROJECTS:
YOUTRACK_PROJECTS = [p.strip() for p in YOUTRACK_PROJECTS.split(",") if p.strip()]