Moved version to the FastAPI app instead

This commit is contained in:
Donkie
2023-07-10 11:45:46 +02:00
parent 85aae6119d
commit b9ee4626d3
2 changed files with 16 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ from pathlib import Path
from typing import Optional
from urllib import parse
import pkg_resources
from platformdirs import user_data_dir
@@ -235,3 +236,12 @@ def get_backups_dir() -> Path:
backups_dir = data_dir.joinpath("backups")
backups_dir.mkdir(parents=True, exist_ok=True)
return backups_dir
def get_version() -> str:
"""Get the version of the package.
Returns:
str: The version.
"""
return pkg_resources.get_distribution("spoolman").version

View File

@@ -7,7 +7,6 @@ from logging.handlers import TimedRotatingFileHandler
from pathlib import Path
from typing import Union
import pkg_resources
import uvicorn
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
@@ -18,9 +17,6 @@ from spoolman import env
from spoolman.api.v1.router import app as v1_app
from spoolman.database import database
# Get version from package metadata
version = pkg_resources.get_distribution("spoolman").version
# Define a file logger with log rotation
log_file = env.get_data_dir().joinpath("spoolman.log")
file_handler = TimedRotatingFileHandler(log_file, when="midnight", backupCount=5)
@@ -58,7 +54,11 @@ class SinglePageApplication(StaticFiles):
return (full_path, stat_result)
app = FastAPI(debug=env.is_debug_mode())
app = FastAPI(
debug=env.is_debug_mode(),
title="Spoolman",
version=env.get_version(),
)
app.mount("/api/v1", v1_app)
app.mount("/", app=SinglePageApplication(directory="client/dist"), name="client")
@@ -79,7 +79,7 @@ if env.is_debug_mode():
@app.on_event("startup")
async def startup() -> None:
"""Run the service's startup sequence."""
logger.info("Starting Spoolman v%s...", version)
logger.info("Starting Spoolman v%s...", app.version)
logger.info("Setting up database...")
database.setup_db(database.get_connection_url())