2024-01-04 15:43:40 +00:00
|
|
|
import logging
|
2024-02-07 16:53:29 +00:00
|
|
|
import subprocess
|
2024-01-04 15:43:40 +00:00
|
|
|
from pathlib import Path
|
|
|
|
|
2024-04-18 00:24:58 +01:00
|
|
|
import toml
|
|
|
|
|
2024-02-07 16:53:29 +00:00
|
|
|
log = logging.getLogger("jimmy.autoconf")
|
|
|
|
|
|
|
|
if (Path.cwd() / ".git").exists():
|
|
|
|
try:
|
|
|
|
log.debug("Attempting to auto-detect running version using git.")
|
|
|
|
VERSION = subprocess.run(
|
|
|
|
["git", "rev-parse", "--short", "HEAD"],
|
|
|
|
stdout=subprocess.PIPE,
|
|
|
|
stderr=subprocess.DEVNULL,
|
|
|
|
text=True,
|
2024-04-16 00:46:26 +01:00
|
|
|
check=True,
|
2024-02-07 16:53:29 +00:00
|
|
|
).stdout.strip()
|
|
|
|
except subprocess.CalledProcessError:
|
|
|
|
log.debug("Unable to auto-detect running version using git.", exc_info=True)
|
|
|
|
VERSION = "unknown"
|
|
|
|
else:
|
|
|
|
log.debug("Unable to auto-detect running version using git, no .git directory exists.")
|
|
|
|
VERSION = "unknown"
|
|
|
|
|
2024-01-04 15:43:40 +00:00
|
|
|
try:
|
2024-04-16 00:46:26 +01:00
|
|
|
CONFIG = toml.load("config.toml")
|
2024-01-06 21:43:52 +00:00
|
|
|
CONFIG.setdefault("logging", {})
|
|
|
|
CONFIG.setdefault("jimmy", {})
|
|
|
|
CONFIG.setdefault("ollama", {})
|
2024-03-17 16:15:59 +00:00
|
|
|
CONFIG.setdefault("screenshot", {})
|
2024-04-29 01:34:21 +01:00
|
|
|
CONFIG.setdefault("responder", {})
|
2024-03-18 23:59:46 +00:00
|
|
|
CONFIG.setdefault("quote_a", {"channel": None})
|
2024-04-16 00:46:26 +01:00
|
|
|
CONFIG.setdefault("redis", {"host": "redis", "port": 6379, "decode_responses": True})
|
2024-01-04 15:43:40 +00:00
|
|
|
except FileNotFoundError:
|
|
|
|
cwd = Path.cwd()
|
2024-02-07 16:53:29 +00:00
|
|
|
log.critical("Unable to locate config.toml in %s.", cwd, exc_info=True)
|
2024-01-04 15:43:40 +00:00
|
|
|
raise
|