Moved version to the FastAPI app instead
This commit is contained in:
@@ -7,6 +7,7 @@ from pathlib import Path
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from urllib import parse
|
from urllib import parse
|
||||||
|
|
||||||
|
import pkg_resources
|
||||||
from platformdirs import user_data_dir
|
from platformdirs import user_data_dir
|
||||||
|
|
||||||
|
|
||||||
@@ -235,3 +236,12 @@ def get_backups_dir() -> Path:
|
|||||||
backups_dir = data_dir.joinpath("backups")
|
backups_dir = data_dir.joinpath("backups")
|
||||||
backups_dir.mkdir(parents=True, exist_ok=True)
|
backups_dir.mkdir(parents=True, exist_ok=True)
|
||||||
return backups_dir
|
return backups_dir
|
||||||
|
|
||||||
|
|
||||||
|
def get_version() -> str:
|
||||||
|
"""Get the version of the package.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The version.
|
||||||
|
"""
|
||||||
|
return pkg_resources.get_distribution("spoolman").version
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ from logging.handlers import TimedRotatingFileHandler
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Union
|
from typing import Union
|
||||||
|
|
||||||
import pkg_resources
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
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.api.v1.router import app as v1_app
|
||||||
from spoolman.database import database
|
from spoolman.database import database
|
||||||
|
|
||||||
# Get version from package metadata
|
|
||||||
version = pkg_resources.get_distribution("spoolman").version
|
|
||||||
|
|
||||||
# Define a file logger with log rotation
|
# Define a file logger with log rotation
|
||||||
log_file = env.get_data_dir().joinpath("spoolman.log")
|
log_file = env.get_data_dir().joinpath("spoolman.log")
|
||||||
file_handler = TimedRotatingFileHandler(log_file, when="midnight", backupCount=5)
|
file_handler = TimedRotatingFileHandler(log_file, when="midnight", backupCount=5)
|
||||||
@@ -58,7 +54,11 @@ class SinglePageApplication(StaticFiles):
|
|||||||
return (full_path, stat_result)
|
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("/api/v1", v1_app)
|
||||||
app.mount("/", app=SinglePageApplication(directory="client/dist"), name="client")
|
app.mount("/", app=SinglePageApplication(directory="client/dist"), name="client")
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ if env.is_debug_mode():
|
|||||||
@app.on_event("startup")
|
@app.on_event("startup")
|
||||||
async def startup() -> None:
|
async def startup() -> None:
|
||||||
"""Run the service's startup sequence."""
|
"""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...")
|
logger.info("Setting up database...")
|
||||||
database.setup_db(database.get_connection_url())
|
database.setup_db(database.get_connection_url())
|
||||||
|
|||||||
Reference in New Issue
Block a user