mirror of
https://github.com/hay-kot/mealie.git
synced 2025-08-22 06:23:34 -07:00
rename settings.py to app_config.py
This commit is contained in:
parent
fb44d4f806
commit
710e54f4cc
18 changed files with 79 additions and 31 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -7,6 +7,7 @@ __pycache__/
|
|||
docs/site/
|
||||
mealie/temp/*
|
||||
mealie/temp/api.html
|
||||
.temp/
|
||||
|
||||
|
||||
mealie/data/backups/*
|
||||
|
|
|
@ -3,9 +3,16 @@ from fastapi import FastAPI
|
|||
from fastapi.staticfiles import StaticFiles
|
||||
|
||||
import utils.startup as startup
|
||||
from routes import (backup_routes, meal_routes, migration_routes,
|
||||
recipe_routes, setting_routes, static_routes, user_routes)
|
||||
from settings import PORT, PRODUCTION, WEB_PATH, docs_url, redoc_url
|
||||
from app_config import PORT, PRODUCTION, WEB_PATH, docs_url, redoc_url
|
||||
from routes import (
|
||||
backup_routes,
|
||||
meal_routes,
|
||||
migration_routes,
|
||||
recipe_routes,
|
||||
setting_routes,
|
||||
static_routes,
|
||||
user_routes,
|
||||
)
|
||||
from utils.api_docs import generate_api_docs
|
||||
from utils.logger import logger
|
||||
|
||||
|
@ -19,11 +26,13 @@ app = FastAPI(
|
|||
redoc_url=redoc_url,
|
||||
)
|
||||
|
||||
# Mount Vue Frontend only in production
|
||||
if PRODUCTION:
|
||||
|
||||
def mount_static_files():
|
||||
app.mount("/static", StaticFiles(directory=WEB_PATH, html=True))
|
||||
|
||||
# API Routes
|
||||
|
||||
def api_routers():
|
||||
# First
|
||||
app.include_router(recipe_routes.router)
|
||||
app.include_router(meal_routes.router)
|
||||
app.include_router(setting_routes.router)
|
||||
|
@ -31,6 +40,12 @@ app.include_router(backup_routes.router)
|
|||
app.include_router(user_routes.router)
|
||||
app.include_router(migration_routes.router)
|
||||
|
||||
|
||||
if PRODUCTION:
|
||||
mount_static_files()
|
||||
|
||||
api_routers()
|
||||
|
||||
# API 404 Catch all CALL AFTER ROUTERS
|
||||
@app.get("/api/{full_path:path}", status_code=404, include_in_schema=False)
|
||||
def invalid_api():
|
||||
|
|
|
@ -20,7 +20,7 @@ DEBUG_DIR = DATA_DIR.joinpath("debug")
|
|||
MIGRATION_DIR = DATA_DIR.joinpath("migration")
|
||||
TEMPLATE_DIR = DATA_DIR.joinpath("templates")
|
||||
TINYDB_DIR = DATA_DIR.joinpath("db")
|
||||
TEMP_DIR = DATA_DIR.joinpath("temp")
|
||||
TEMP_DIR = DATA_DIR.joinpath(".temp")
|
||||
|
||||
REQUIRED_DIRS = [
|
||||
DATA_DIR,
|
Binary file not shown.
|
@ -2,7 +2,7 @@ import json
|
|||
from typing import Union
|
||||
|
||||
import mongoengine
|
||||
from settings import USE_MONGO, USE_SQL
|
||||
from app_config import USE_MONGO, USE_SQL
|
||||
from sqlalchemy.orm.session import Session
|
||||
|
||||
from db.sql.db_session import create_session
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from typing import List
|
||||
|
||||
from settings import USE_MONGO, USE_SQL
|
||||
from app_config import USE_MONGO, USE_SQL
|
||||
|
||||
from db.db_base import BaseDocument
|
||||
from db.db_setup import USE_MONGO, USE_SQL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from settings import USE_MONGO, USE_SQL
|
||||
from app_config import USE_MONGO, USE_SQL
|
||||
|
||||
from db.db_base import BaseDocument
|
||||
from db.mongo.recipe_models import RecipeDocument
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from settings import USE_MONGO, USE_SQL
|
||||
from app_config import USE_MONGO, USE_SQL
|
||||
|
||||
from db.db_base import BaseDocument
|
||||
from db.db_setup import USE_MONGO, USE_SQL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from settings import DATA_DIR, USE_MONGO, USE_SQL
|
||||
from app_config import DATA_DIR, USE_MONGO, USE_SQL
|
||||
|
||||
from db.sql.db_session import globa_init as sql_global_init
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from settings import USE_MONGO, USE_SQL
|
||||
from app_config import USE_MONGO, USE_SQL
|
||||
|
||||
from db.db_base import BaseDocument
|
||||
from db.db_setup import USE_MONGO, USE_SQL
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import mongoengine
|
||||
from settings import DB_HOST, DB_PASSWORD, DB_PORT, DB_USERNAME, MEALIE_DB_NAME
|
||||
from app_config import DB_HOST, DB_PASSWORD, DB_PORT, DB_USERNAME, MEALIE_DB_NAME
|
||||
from utils.logger import logger
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
from datetime import datetime
|
||||
from typing import List, Optional
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
@ -16,14 +17,45 @@ class BackupJob(BaseModel):
|
|||
}
|
||||
|
||||
|
||||
class LocalBackup(BaseModel):
|
||||
name: str
|
||||
date: datetime
|
||||
|
||||
|
||||
class Imports(BaseModel):
|
||||
imports: List[str]
|
||||
imports: List[LocalBackup]
|
||||
templates: List[str]
|
||||
|
||||
class Config:
|
||||
schema_extra = {
|
||||
"example": {
|
||||
"imports": ["sample_data.zip", "sampe_data2.zip"],
|
||||
"imports": [
|
||||
{
|
||||
"name": "AutoBackup_12-1-2020.zip",
|
||||
"date": datetime.now(),
|
||||
}
|
||||
],
|
||||
"templates": ["recipes.md", "custom_template.md"],
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class ImportJob(BaseModel):
|
||||
name: str
|
||||
recipes: bool
|
||||
force: bool = False
|
||||
rebase: bool = False
|
||||
themes: bool = False
|
||||
settings: bool = False
|
||||
|
||||
class Config:
|
||||
schema_extra = {
|
||||
"example": {
|
||||
"name": "my_local_backup.zip",
|
||||
"recipes": True,
|
||||
"force": False,
|
||||
"rebase": False,
|
||||
"themes": False,
|
||||
"settings": False
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ from jinja2 import Template
|
|||
from services.meal_services import MealPlan
|
||||
from services.recipe_services import Recipe
|
||||
from services.settings_services import SiteSettings, SiteTheme
|
||||
from settings import BACKUP_DIR, IMG_DIR, TEMP_DIR, TEMPLATE_DIR
|
||||
from app_config import BACKUP_DIR, IMG_DIR, TEMP_DIR, TEMPLATE_DIR
|
||||
from utils.logger import logger
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ from typing import List
|
|||
|
||||
from services.recipe_services import Recipe
|
||||
from services.settings_services import SiteSettings, SiteTheme
|
||||
from settings import BACKUP_DIR, IMG_DIR, TEMP_DIR
|
||||
from app_config import BACKUP_DIR, IMG_DIR, TEMP_DIR
|
||||
from utils.logger import logger
|
||||
|
||||
|
||||
|
@ -74,7 +74,6 @@ class ImportDatabase:
|
|||
recipe_dict = json.loads(f.read())
|
||||
recipe_dict = ImportDatabase._recipe_migration(recipe_dict)
|
||||
|
||||
|
||||
recipe_obj = Recipe(**recipe_dict)
|
||||
recipe_obj.save_to_db()
|
||||
successful_imports.append(recipe.stem)
|
||||
|
|
|
@ -4,7 +4,7 @@ from pathlib import Path
|
|||
import git
|
||||
import yaml
|
||||
from services.recipe_services import Recipe
|
||||
from settings import IMG_DIR
|
||||
from app_config import IMG_DIR
|
||||
|
||||
try:
|
||||
from yaml import CLoader as Loader
|
||||
|
|
|
@ -6,7 +6,7 @@ from pathlib import Path
|
|||
|
||||
from services.recipe_services import Recipe
|
||||
from services.scrape_services import normalize_data, process_recipe_data
|
||||
from settings import IMG_DIR, TEMP_DIR
|
||||
from app_config import IMG_DIR, TEMP_DIR
|
||||
|
||||
CWD = Path(__file__).parent
|
||||
MIGRTAION_DIR = CWD.parent.parent.joinpath("data", "migration")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import json
|
||||
|
||||
from settings import BASE_DIR
|
||||
from app_config import BASE_DIR
|
||||
|
||||
"""Script to export the ReDoc documentation page into a standalone HTML file."""
|
||||
|
||||
|
@ -31,10 +31,11 @@ HTML_TEMPLATE = """<!DOCTYPE html>
|
|||
</html>
|
||||
"""
|
||||
|
||||
out_path = BASE_DIR.joinpath("temp", "index.html")
|
||||
|
||||
|
||||
def generate_api_docs(app):
|
||||
out_dir = BASE_DIR.joinpath(".temp")
|
||||
out_dir.mkdir(parents=True, exist_ok=True)
|
||||
out_path = out_dir.joinpath("index.html")
|
||||
with open(out_path, "w") as fd:
|
||||
out_path.parent.mkdir(exist_ok=True)
|
||||
print(HTML_TEMPLATE % json.dumps(app.openapi()), file=fd)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from pathlib import Path
|
||||
|
||||
from settings import REQUIRED_DIRS
|
||||
from app_config import REQUIRED_DIRS
|
||||
|
||||
CWD = Path(__file__).parent
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue