diff --git a/squirrel/api.py b/squirrel/api.py index 805712a..d490d61 100644 --- a/squirrel/api.py +++ b/squirrel/api.py @@ -1,24 +1,26 @@ from math import ceil -from fastapi import FastAPI, Request +from fastapi import FastAPI, Request, BackgroundTasks from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from typing import Any import logging import subprocess import os.path +from dotenv import dotenv_values from recoll import recoll -from fastapi import BackgroundTasks - -# from .config import settings logger = logging.getLogger() logging.basicConfig(level=logging.DEBUG) -SQUIRREL_FOLDER = os.path.dirname(os.path.realpath(__file__)) +config = {**dotenv_values(".env"), **os.environ} -DOC_FOLDER = "/mnt/docs" +SQUIRREL_APP = os.path.dirname(os.path.realpath(__file__)) + "/app" + +SQUIRREL_ICONS = config.get("SQUIRREL_ICONS", "/usr/share/icons/breeze/mimetypes/32") + +DOC_FOLDER = config.get("SQUIRREL_DOCS", "/mnt/docs") STRIP_CHARS = len(DOC_FOLDER) + len("file:///") @@ -38,14 +40,14 @@ class Recoll(object): repo = Recoll() app = FastAPI() -app.mount("/static", StaticFiles(directory=f"{SQUIRREL_FOLDER}/app/static")) +app.mount("/static", StaticFiles(directory=f"{SQUIRREL_APP}/static")) app.mount("/docs", StaticFiles(directory=DOC_FOLDER)) app.mount( "/icons", - StaticFiles(directory="/usr/share/icons/breeze/mimetypes/32", follow_symlink=True), + StaticFiles(directory=SQUIRREL_ICONS, follow_symlink=True), ) -templates = Jinja2Templates(directory=f"{SQUIRREL_FOLDER}/app/templates") +templates = Jinja2Templates(directory=f"{SQUIRREL_APP}/templates") @app.get("/")