Commit b7ad4701 authored by Aryan Kothari's avatar Aryan Kothari
Browse files

fix: static dir path resolution

when running in different environments, the static_path is different.
This path is now 'determined' at runtime
parent 4ffcabfb
from pathlib import Path
import site
from fastapi import APIRouter, UploadFile, File, Response from fastapi import APIRouter, UploadFile, File, Response
from fastapi import Depends, HTTPException, status from fastapi import Depends, HTTPException, status
from starlette.responses import StreamingResponse, FileResponse from starlette.responses import StreamingResponse, FileResponse
...@@ -64,8 +67,18 @@ async def download_chat_as_pdf( ...@@ -64,8 +67,18 @@ async def download_chat_as_pdf(
pdf = FPDF() pdf = FPDF()
pdf.add_page() pdf.add_page()
STATIC_DIR = "./static" # When running in docker, workdir is /app/backend, so fonts is in /app/backend/static/fonts
FONTS_DIR = f"{STATIC_DIR}/fonts" FONTS_DIR = Path("./static/fonts")
# Non Docker Installation
# When running using `pip install` the static directory is in the site packages.
if not FONTS_DIR.exists():
FONTS_DIR = Path(site.getsitepackages()[0]) / "static/fonts"
# When running using `pip install -e .` the static directory is in the site packages.
# This path only works if `open-webui serve` is run from the root of this project.
if not FONTS_DIR.exists():
FONTS_DIR = Path("./backend/static/fonts")
pdf.add_font("NotoSans", "", f"{FONTS_DIR}/NotoSans-Regular.ttf") pdf.add_font("NotoSans", "", f"{FONTS_DIR}/NotoSans-Regular.ttf")
pdf.add_font("NotoSans", "b", f"{FONTS_DIR}/NotoSans-Bold.ttf") pdf.add_font("NotoSans", "b", f"{FONTS_DIR}/NotoSans-Bold.ttf")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment