flare / service_config.py
ciyidogan's picture
Update service_config.py
2eebdb5 verified
raw
history blame
2.25 kB
import os
import json
from utils import log
class ServiceConfig:
def __init__(self, config_path="service_config.json"):
self.config_path = config_path
self.work_mode = None
self.cloud_token = None
self.system_prompt = None
self.spark_endpoint = None
self.users = []
self.last_version_number = 0
self.projects = {}
self.apis = {}
def load(self):
try:
log(f"πŸ“₯ Loading service config from {self.config_path}...")
with open(self.config_path, "r", encoding="utf-8") as f:
config_data = json.load(f)
general = config_data.get("config", {})
self.work_mode = general.get("work_mode")
self.cloud_token = general.get("cloud_token")
self.system_prompt = general.get("system_prompt")
self.spark_endpoint = general.get("spark_endpoint")
self.last_version_number = general.get("last_version_number", 0)
self.users = general.get("users", [])
self.apis = config_data.get("apis", {})
projects_data = config_data.get("projects", {})
for project_name, project_info in projects_data.items():
project = {
"project_name": project_info.get("project_name"),
"enabled": project_info.get("enabled", False),
"versions": project_info.get("versions", [])
}
self.projects[project_name] = project
log("βœ… Service config loaded successfully.")
except Exception as e:
log(f"❌ Error loading service config: {e}")
raise
def get_project(self, project_name):
return self.projects.get(project_name)
def get_project_versions(self, project_name):
project = self.get_project(project_name)
return project.get("versions") if project else []
def get_api_config(self, api_name):
return self.apis.get(api_name)
def get_auth_token(self):
if self.work_mode == "hfcloud":
return os.getenv("HF_TOKEN")
elif self.work_mode == "cloud":
return self.cloud_token
else:
return None