MCPcopy
hub / github.com/TaskingAI/TaskingAI / __init__

Method __init__

plugin/config.py:54–116  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

52 """Backend configuration"""
53
54 def __init__(self):
55
56 # version
57 self.VERSION = "v0.2.10"
58
59 # mode
60 self.MODE = load_str_env("MODE", required=True)
61 self.MODE = self.MODE.lower()
62 self.DEV = True if self.MODE == "dev" else False
63 self.TEST = True if self.MODE == "test" else False
64 self.PROD = True if self.MODE == "prod" else False
65
66 # service
67 self.SERVICE_PORT = load_int_env("SERVICE_PORT", required=True)
68 self.PROXY = load_str_env("PROXY")
69 self.API_ROUTE_PREFIX = "/v1"
70 self.IMAGE_ROUTE_PREFIX = "/images"
71
72 # ALLOWED_BUNDLES
73 self.ALLOWED_BUNDLES = load_str_env("ALLOWED_BUNDLES", required=False)
74 if self.ALLOWED_BUNDLES:
75 self.ALLOWED_BUNDLES = self.ALLOWED_BUNDLES.split(",")
76 self.ALLOWED_BUNDLES = [provider.strip() for provider in self.ALLOWED_BUNDLES]
77
78 # FORBIDDEN_BUNDLES
79 self.FORBIDDEN_BUNDLES = load_str_env("FORBIDDEN_BUNDLES", required=False)
80 if self.FORBIDDEN_BUNDLES:
81 self.FORBIDDEN_BUNDLES = self.FORBIDDEN_BUNDLES.split(",")
82 self.FORBIDDEN_BUNDLES = [provider.strip() for provider in self.FORBIDDEN_BUNDLES]
83
84 # secret
85 self.AES_ENCRYPTION_KEY = load_str_env("AES_ENCRYPTION_KEY", required=True)
86
87 # prefix
88 self.ICON_URL_PREFIX = load_str_env("ICON_URL_PREFIX")
89 if not self.ICON_URL_PREFIX:
90 self.ICON_URL_PREFIX = f"http://localhost:{self.SERVICE_PORT}"
91
92 # i18b
93 self.DEFAULT_LANG = load_str_env("DEFAULT_LANG", required=True)
94
95 # file storage
96 self.OBJECT_STORAGE_TYPE = load_str_env("OBJECT_STORAGE_TYPE", required=True)
97 self.PATH_TO_VOLUME = load_str_env("PATH_TO_VOLUME", required=True)
98 self.INCLUDE_FILE_CATEGORY_IN_STORAGE_PATH = bool(load_int_env("INCLUDE_FILE_CATEGORY_IN_STORAGE_PATH", required=True))
99
100 if self.OBJECT_STORAGE_TYPE == "s3":
101 self.S3_ACCESS_KEY_ID = load_str_env("S3_ACCESS_KEY_ID", required=True)
102 self.S3_ACCESS_KEY_SECRET = load_str_env("S3_ACCESS_KEY_SECRET", required=True)
103 self.S3_ENDPOINT = load_str_env("S3_ENDPOINT", required=True)
104 self.S3_BUCKET_PUBLIC_DOMAIN = load_str_env("S3_BUCKET_PUBLIC_DOMAIN")
105
106 self.S3_IMAGE_BUCKET_NAME = load_str_env("S3_IMAGE_BUCKET_NAME")
107
108 if not self.S3_IMAGE_BUCKET_NAME:
109 self.S3_IMAGE_BUCKET_NAME = load_str_env("S3_BUCKET_NAME")
110 if not self.S3_IMAGE_BUCKET_NAME:
111 raise Exception(f"Env S3_IMAGE_BUCKET_NAME is not set")

Callers

nothing calls this directly

Calls 2

load_str_envFunction · 0.70
load_int_envFunction · 0.70

Tested by

no test coverage detected