Compare commits
No commits in common. "d2e77b9ae51d543845cc5623cea63b4e0fe35206" and "19c6772b8851e7d8e10ee8eec4e06100681a097f" have entirely different histories.
d2e77b9ae5
...
19c6772b88
5 changed files with 34 additions and 30 deletions
|
|
@ -7,15 +7,15 @@ This file: Main API router definition.
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
|
|
||||||
# from . import aggregate, calendar, file, image, misc, text, ticker
|
# from . import aggregate, calendar, file, image, misc, text, ticker
|
||||||
from . import file, image, misc, text, ticker
|
from . import file, misc
|
||||||
|
|
||||||
router = APIRouter(prefix="/api/v1")
|
router = APIRouter(prefix="/api/v1")
|
||||||
|
|
||||||
router.include_router(misc.router)
|
router.include_router(misc.router)
|
||||||
|
|
||||||
router.include_router(text.router)
|
# router.include_router(text.router)
|
||||||
router.include_router(ticker.router)
|
# router.include_router(ticker.router)
|
||||||
router.include_router(image.router)
|
# router.include_router(image.router)
|
||||||
router.include_router(file.router)
|
router.include_router(file.router)
|
||||||
|
|
||||||
# router.include_router(calendar.router)
|
# router.include_router(calendar.router)
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ from fastapi import APIRouter, Depends
|
||||||
from fastapi.responses import StreamingResponse
|
from fastapi.responses import StreamingResponse
|
||||||
from magic import Magic
|
from magic import Magic
|
||||||
|
|
||||||
from ...core.dav_common import webdav_ensure_files, webdav_ensure_path
|
# from ...core.dav_common import webdav_ensure_files, webdav_ensure_path
|
||||||
from ...core.webdav import WebDAV
|
from ...core.webdav import WebDAV
|
||||||
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
||||||
|
|
||||||
|
|
@ -40,12 +40,12 @@ file_unique = PrefixUnique(file_finder)
|
||||||
async def start_router() -> None:
|
async def start_router() -> None:
|
||||||
_logger.debug(f"{router.prefix} router starting.")
|
_logger.debug(f"{router.prefix} router starting.")
|
||||||
|
|
||||||
if not webdav_ensure_path(await file_lister.remote_path):
|
# if not webdav_ensure_path(await file_lister.remote_path):
|
||||||
webdav_ensure_files(
|
# webdav_ensure_files(
|
||||||
await file_lister.remote_path,
|
# await file_lister.remote_path,
|
||||||
"logo.svg",
|
# "logo.svg",
|
||||||
"thw.svg",
|
# "thw.svg",
|
||||||
)
|
# )
|
||||||
|
|
||||||
|
|
||||||
@router.get(
|
@router.get(
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,9 @@ from fastapi import APIRouter, Depends
|
||||||
from fastapi.responses import StreamingResponse
|
from fastapi.responses import StreamingResponse
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from ...core.config import Config, ImageUIConfig, get_config
|
from ...config import Config, ImageUIConfig
|
||||||
from ...core.dav_common import webdav_ensure_files, webdav_ensure_path
|
from ...dav_common import webdav_ensure_files, webdav_ensure_path
|
||||||
from ...core.webdav import WebDAV
|
from ...dav_file import DavFile
|
||||||
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
||||||
|
|
||||||
_logger = getLogger(__name__)
|
_logger = getLogger(__name__)
|
||||||
|
|
@ -80,10 +80,10 @@ async def get_image(
|
||||||
prefix: str,
|
prefix: str,
|
||||||
name: str = Depends(image_unique),
|
name: str = Depends(image_unique),
|
||||||
) -> StreamingResponse:
|
) -> StreamingResponse:
|
||||||
cfg = await get_config()
|
cfg = await Config.get()
|
||||||
img = Image.open(
|
|
||||||
BytesIO(await WebDAV.read_bytes(f"{await image_lister.remote_path}/{name}"))
|
dav_file = DavFile(f"{await image_lister.remote_path}/{name}")
|
||||||
)
|
img = Image.open(BytesIO(await dav_file.as_bytes)).convert(cfg.image.mode)
|
||||||
|
|
||||||
img_buffer = BytesIO()
|
img_buffer = BytesIO()
|
||||||
img.save(img_buffer, **cfg.image.save_params)
|
img.save(img_buffer, **cfg.image.save_params)
|
||||||
|
|
@ -101,6 +101,6 @@ async def get_image(
|
||||||
response_model=ImageUIConfig,
|
response_model=ImageUIConfig,
|
||||||
)
|
)
|
||||||
async def get_ui_config(
|
async def get_ui_config(
|
||||||
cfg: Config = Depends(get_config),
|
cfg: Config = Depends(Config.get),
|
||||||
) -> ImageUIConfig:
|
) -> ImageUIConfig:
|
||||||
return cfg.image
|
return cfg.image
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ from typing import Iterator
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
from markdown import markdown
|
from markdown import markdown
|
||||||
|
|
||||||
from ...core.dav_common import webdav_ensure_files, webdav_ensure_path
|
from ...dav_common import webdav_ensure_files, webdav_ensure_path
|
||||||
from ...core.webdav import WebDAV
|
from ...dav_file import DavFile
|
||||||
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
from ._common import FileNameLister, PrefixFinder, PrefixUnique
|
||||||
|
|
||||||
_logger = getLogger(__name__)
|
_logger = getLogger(__name__)
|
||||||
|
|
@ -73,7 +73,9 @@ async def find_texts(
|
||||||
async def get_text_content(
|
async def get_text_content(
|
||||||
name: str = Depends(text_unique),
|
name: str = Depends(text_unique),
|
||||||
) -> str:
|
) -> str:
|
||||||
return await WebDAV.read_str(f"{await text_lister.remote_path}/{name}")
|
return await DavFile(
|
||||||
|
f"{await text_lister.remote_path}/{name}",
|
||||||
|
).as_string
|
||||||
|
|
||||||
|
|
||||||
@router.get(
|
@router.get(
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,9 @@ from typing import Iterator
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends
|
||||||
from markdown import markdown
|
from markdown import markdown
|
||||||
|
|
||||||
from ...core.config import Config, TickerUIConfig, get_config
|
from ...config import Config, TickerUIConfig
|
||||||
from ...core.dav_common import webdav_ensure_files, webdav_ensure_path
|
from ...dav_common import webdav_ensure_files, webdav_ensure_path
|
||||||
from ...core.webdav import WebDAV
|
from ...dav_file import DavFile
|
||||||
from .text import text_lister, text_unique
|
from .text import text_lister, text_unique
|
||||||
|
|
||||||
_logger = getLogger(__name__)
|
_logger = getLogger(__name__)
|
||||||
|
|
@ -35,10 +35,12 @@ async def start_router() -> None:
|
||||||
|
|
||||||
|
|
||||||
async def get_ticker_lines() -> Iterator[str]:
|
async def get_ticker_lines() -> Iterator[str]:
|
||||||
cfg = await get_config()
|
cfg = await Config.get()
|
||||||
file_name = await text_unique(cfg.ticker.file_name)
|
file_name = await text_unique(cfg.ticker.file_name)
|
||||||
|
|
||||||
ticker = await WebDAV.read_str(f"{await text_lister.remote_path}/{file_name}")
|
ticker = await DavFile(
|
||||||
|
f"{await text_lister.remote_path}/{file_name}",
|
||||||
|
).as_string
|
||||||
|
|
||||||
return (line.strip() for line in ticker.split("\n") if line.strip())
|
return (line.strip() for line in ticker.split("\n") if line.strip())
|
||||||
|
|
||||||
|
|
@ -46,7 +48,7 @@ async def get_ticker_lines() -> Iterator[str]:
|
||||||
async def get_ticker_content_lines(
|
async def get_ticker_content_lines(
|
||||||
ticker_lines: Iterator[str] = Depends(get_ticker_lines),
|
ticker_lines: Iterator[str] = Depends(get_ticker_lines),
|
||||||
) -> Iterator[str]:
|
) -> Iterator[str]:
|
||||||
cfg = await get_config()
|
cfg = await Config.get()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
line for line in ticker_lines if not line.startswith(cfg.ticker.comment_marker)
|
line for line in ticker_lines if not line.startswith(cfg.ticker.comment_marker)
|
||||||
|
|
@ -60,7 +62,7 @@ async def get_ticker_content(
|
||||||
if len(ticker_content_padded) == 2:
|
if len(ticker_content_padded) == 2:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
cfg = await get_config()
|
cfg = await Config.get()
|
||||||
ticker_content = cfg.ticker.separator.join(
|
ticker_content = cfg.ticker.separator.join(
|
||||||
ticker_content_padded,
|
ticker_content_padded,
|
||||||
)
|
)
|
||||||
|
|
@ -87,6 +89,6 @@ async def get_raw_ticker(
|
||||||
response_model=TickerUIConfig,
|
response_model=TickerUIConfig,
|
||||||
)
|
)
|
||||||
async def get_ui_config(
|
async def get_ui_config(
|
||||||
cfg: Config = Depends(get_config),
|
cfg: Config = Depends(Config.get),
|
||||||
) -> TickerUIConfig:
|
) -> TickerUIConfig:
|
||||||
return cfg.ticker
|
return cfg.ticker
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue