Spaces:
Running
Running
File size: 2,250 Bytes
6a71c2b |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import os
import json
from log 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
|