feature: add the ability to talk to different directus instances

This commit is contained in:
Prof. Dr. Matthias Jung DL9MJ
2025-06-24 22:04:13 +02:00
committed by Tim Grelka
parent 50b957a93f
commit ae5a2e1a66
3 changed files with 11 additions and 7 deletions
+5 -4
View File
@@ -4,8 +4,9 @@ import requests
class DirectusAPI: class DirectusAPI:
def __init__(self, config): def __init__(self, base_url, access_token):
self.config = config self.base_url = base_url
self.access_token = access_token
def __get_raw(self, endpoint, params = None): def __get_raw(self, endpoint, params = None):
if params is None: if params is None:
@@ -13,12 +14,12 @@ class DirectusAPI:
for k in params.keys(): for k in params.keys():
if type(params[k]) is dict: if type(params[k]) is dict:
params[k] = json.dumps(params[k]) params[k] = json.dumps(params[k])
url = self.config.base_url + endpoint url = self.base_url + endpoint
result = requests.get( result = requests.get(
url, url,
params = params, params = params,
headers = { headers = {
"Authorization": f"Bearer {self.config.access_token}", "Authorization": f"Bearer {self.access_token}",
"Cache-Control": "no-store" "Cache-Control": "no-store"
} }
) )
+2 -1
View File
@@ -4,7 +4,8 @@ import src.config as config
import src.download as download import src.download as download
conf = config.Config() conf = config.Config()
api = directus.DirectusAPI(conf) api = directus.DirectusAPI(conf.question_base_url, conf.question_access_token)
content_api = directus.DirectusAPI(conf.content_base_url, conf.content_access_token)
dl = download.Download(api, conf) dl = download.Download(api, conf)
bd = build.Build() bd = build.Build()
+4 -2
View File
@@ -13,8 +13,10 @@ class Config:
with open("config/config.json") as file: with open("config/config.json") as file:
self.config = json.load(file) self.config = json.load(file)
self.access_token = self.get_config_value("directus_api_key") self.question_access_token = self.get_config_value("directus_question_api_key")
self.base_url = self.get_config_value("directus_api_url", "https://fragenkatalog.darc.de/") self.question_base_url = self.get_config_value("directus_question_base_url", "https://fragenkatalog.darc.de/")
self.content_access_token = self.get_config_value("directus_content_api_key")
self.content_base_url = self.get_config_value("directus_content_base_url", "https://redaktion.50ohm.de/")
self.no_latex = self.get_config_value("no_latex", False) self.no_latex = self.get_config_value("no_latex", False)
def get_config_value(self, key: str, default=None): def get_config_value(self, key: str, default=None):