mirror of
https://github.com/rommapp/romm.git
synced 2026-07-01 08:16:21 +00:00
Set some consts as final
This commit is contained in:
@@ -1,56 +1,55 @@
|
||||
import os
|
||||
import secrets
|
||||
from dotenv import load_dotenv
|
||||
from typing import Final
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# UVICORN
|
||||
DEV_PORT: int = int(os.environ.get("VITE_BACKEND_DEV_PORT", "5000"))
|
||||
DEV_HOST: str = "0.0.0.0"
|
||||
DEV_PORT: Final = int(os.environ.get("VITE_BACKEND_DEV_PORT", "5000"))
|
||||
DEV_HOST: Final = "0.0.0.0"
|
||||
|
||||
# PATHS
|
||||
ROMM_BASE_PATH: str = os.environ.get("ROMM_BASE_PATH", "/romm")
|
||||
LIBRARY_BASE_PATH: str = f"{ROMM_BASE_PATH}/library"
|
||||
FRONT_LIBRARY_PATH: str = "/assets/romm/library"
|
||||
ROMM_USER_CONFIG_PATH: str = f"{ROMM_BASE_PATH}/config.yml"
|
||||
SQLITE_DB_BASE_PATH: str = f"{ROMM_BASE_PATH}/database"
|
||||
RESOURCES_BASE_PATH: str = f"{ROMM_BASE_PATH}/resources"
|
||||
LOGS_BASE_PATH: str = f"{ROMM_BASE_PATH}/logs"
|
||||
HIGH_PRIO_STRUCTURE_PATH: str = f"{LIBRARY_BASE_PATH}/roms"
|
||||
ROMM_BASE_PATH: Final = os.environ.get("ROMM_BASE_PATH", "/romm")
|
||||
LIBRARY_BASE_PATH: Final = f"{ROMM_BASE_PATH}/library"
|
||||
FRONT_LIBRARY_PATH: Final = "/assets/romm/library"
|
||||
ROMM_USER_CONFIG_PATH: Final = f"{ROMM_BASE_PATH}/config.yml"
|
||||
SQLITE_DB_BASE_PATH: Final = f"{ROMM_BASE_PATH}/database"
|
||||
RESOURCES_BASE_PATH: Final = f"{ROMM_BASE_PATH}/resources"
|
||||
LOGS_BASE_PATH: Final = f"{ROMM_BASE_PATH}/logs"
|
||||
HIGH_PRIO_STRUCTURE_PATH: Final = f"{LIBRARY_BASE_PATH}/roms"
|
||||
|
||||
# DEFAULT RESOURCES
|
||||
DEFAULT_URL_COVER_L: str = (
|
||||
"https://images.igdb.com/igdb/image/upload/t_cover_big/nocover.png"
|
||||
)
|
||||
DEFAULT_PATH_COVER_L: str = "default/default/cover/big.png"
|
||||
DEFAULT_URL_COVER_S: str = (
|
||||
"https://images.igdb.com/igdb/image/upload/t_cover_small/nocover.png"
|
||||
)
|
||||
DEFAULT_PATH_COVER_S: str = "default/default/cover/small.png"
|
||||
DEFAULT_URL_COVER_L: Final = "https://images.igdb.com/igdb/image/upload/t_cover_big/nocover.png"
|
||||
DEFAULT_PATH_COVER_L: Final = "default/default/cover/big.png"
|
||||
DEFAULT_URL_COVER_S: Final = "https://images.igdb.com/igdb/image/upload/t_cover_small/nocover.png"
|
||||
DEFAULT_PATH_COVER_S: Final = "default/default/cover/small.png"
|
||||
|
||||
# MARIADB
|
||||
DB_HOST = os.environ.get("DB_HOST", "127.0.0.1")
|
||||
DB_PORT: int = int(os.environ.get("DB_PORT", 3306))
|
||||
DB_USER = os.environ.get("DB_USER")
|
||||
DB_PASSWD = os.environ.get("DB_PASSWD")
|
||||
DB_NAME = os.environ.get("DB_NAME", "romm")
|
||||
DB_HOST: Final = os.environ.get("DB_HOST", "127.0.0.1")
|
||||
DB_PORT: Final = int(os.environ.get("DB_PORT", 3306))
|
||||
DB_USER: Final = os.environ.get("DB_USER")
|
||||
DB_PASSWD: Final = os.environ.get("DB_PASSWD")
|
||||
DB_NAME: Final = os.environ.get("DB_NAME", "romm")
|
||||
|
||||
# REDIS
|
||||
REDIS_HOST = os.environ.get('REDIS_HOST', 'localhost')
|
||||
REDIS_PORT = os.environ.get('REDIS_PORT', '6379')
|
||||
REDIS_HOST: Final = os.environ.get("REDIS_HOST", "localhost")
|
||||
REDIS_PORT: Final = os.environ.get("REDIS_PORT", "6379")
|
||||
|
||||
# IGDB
|
||||
CLIENT_ID = os.environ.get("CLIENT_ID", "")
|
||||
CLIENT_SECRET = os.environ.get("CLIENT_SECRET", "")
|
||||
CLIENT_ID: Final = os.environ.get("CLIENT_ID", "")
|
||||
CLIENT_SECRET: Final = os.environ.get("CLIENT_SECRET", "")
|
||||
|
||||
# STEAMGRIDDB
|
||||
STEAMGRIDDB_API_KEY = os.environ.get("STEAMGRIDDB_API_KEY", "")
|
||||
STEAMGRIDDB_API_KEY: Final = os.environ.get("STEAMGRIDDB_API_KEY", "")
|
||||
|
||||
# DB DRIVERS
|
||||
ROMM_DB_DRIVER = os.environ.get("ROMM_DB_DRIVER", "sqlite")
|
||||
ROMM_DB_DRIVER: Final = os.environ.get("ROMM_DB_DRIVER", "sqlite")
|
||||
|
||||
# AUTH
|
||||
ROMM_AUTH_ENABLED = os.environ.get("ROMM_AUTH_ENABLED", "false") == "true"
|
||||
ROMM_AUTH_USERNAME = os.environ.get("ROMM_AUTH_USERNAME", "admin")
|
||||
ROMM_AUTH_PASSWORD = os.environ.get("ROMM_AUTH_PASSWORD", "admin")
|
||||
ROMM_AUTH_SECRET_KEY = os.environ.get("ROMM_AUTH_SECRET_KEY", secrets.token_hex(32))
|
||||
ROMM_AUTH_ENABLED: Final = os.environ.get("ROMM_AUTH_ENABLED", "false") == "true"
|
||||
ROMM_AUTH_USERNAME: Final = os.environ.get("ROMM_AUTH_USERNAME", "admin")
|
||||
ROMM_AUTH_PASSWORD: Final = os.environ.get("ROMM_AUTH_PASSWORD", "admin")
|
||||
ROMM_AUTH_SECRET_KEY: Final = os.environ.get(
|
||||
"ROMM_AUTH_SECRET_KEY", secrets.token_hex(32)
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from typing import Annotated
|
||||
from typing import Annotated, Final
|
||||
from datetime import timedelta
|
||||
from fastapi import Depends, APIRouter, HTTPException, status
|
||||
|
||||
@@ -11,8 +11,8 @@ from utils.oauth import (
|
||||
)
|
||||
|
||||
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES = 30
|
||||
REFRESH_TOKEN_EXPIRE_DAYS = 7
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: Final = 30
|
||||
REFRESH_TOKEN_EXPIRE_DAYS : Final = 7
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import re
|
||||
import time
|
||||
from unidecode import unidecode as uc
|
||||
from requests.exceptions import HTTPError, Timeout
|
||||
from typing import Final
|
||||
|
||||
from config import CLIENT_ID, CLIENT_SECRET
|
||||
from utils import get_file_name_with_no_tags as get_search_term
|
||||
@@ -13,12 +14,11 @@ from logger.logger import log
|
||||
from utils.cache import cache
|
||||
from .ps2_opl_index import opl_index
|
||||
|
||||
MAIN_GAME_CATEGORY = 0
|
||||
EXPANDED_GAME_CATEGORY = 10
|
||||
N_SCREENSHOTS = 5
|
||||
PS2_IGDB_ID = 8
|
||||
|
||||
ps2_opl_regex = r"^([A-Z]{4}_\d{3}\.\d{2})\..*$"
|
||||
MAIN_GAME_CATEGORY: Final = 0
|
||||
EXPANDED_GAME_CATEGORY: Final = 10
|
||||
N_SCREENSHOTS: Final = 5
|
||||
PS2_IGDB_ID: Final = 8
|
||||
PS2_OPL_REGEX: Final = r"^([A-Z]{4}_\d{3}\.\d{2})\..*$"
|
||||
|
||||
|
||||
class IGDBHandler:
|
||||
@@ -119,8 +119,8 @@ class IGDBHandler:
|
||||
def get_rom(self, file_name: str, p_igdb_id: int):
|
||||
search_term = get_search_term(file_name)
|
||||
|
||||
# Patch support for PS2 OPL filename format
|
||||
match = re.match(ps2_opl_regex, search_term)
|
||||
# Patch support for PS2 OPL flename format
|
||||
match = re.match(PS2_OPL_REGEX, search_term)
|
||||
if p_igdb_id == PS2_IGDB_ID and match:
|
||||
serial_code = match.group(1)
|
||||
index_entry = opl_index.get(serial_code, None)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Optional, Callable
|
||||
from typing import Optional, Callable, Final
|
||||
from jose import JWTError, jwt
|
||||
from fastapi import HTTPException, status, Security
|
||||
from fastapi.param_functions import Form
|
||||
@@ -8,28 +8,28 @@ from fastapi.types import DecoratedCallable
|
||||
|
||||
from config import ROMM_AUTH_SECRET_KEY
|
||||
|
||||
ALGORITHM = "HS256"
|
||||
ALGORITHM: Final = "HS256"
|
||||
|
||||
DEFAULT_SCOPES_MAP = {
|
||||
DEFAULT_SCOPES_MAP: Final = {
|
||||
"me.read": "View your profile",
|
||||
"me.write": "Modify your profile",
|
||||
"roms.read": "View ROMs",
|
||||
"platforms.read": "View platforms",
|
||||
}
|
||||
|
||||
WRITE_SCOPES_MAP = {
|
||||
WRITE_SCOPES_MAP: Final = {
|
||||
"roms.write": "Modify ROMs",
|
||||
"platforms.write": "Modify platforms",
|
||||
}
|
||||
|
||||
FULL_SCOPES_MAP = {
|
||||
FULL_SCOPES_MAP: Final = {
|
||||
"users.read": "View users",
|
||||
"users.write": "Modify users",
|
||||
}
|
||||
|
||||
DEFAULT_SCOPES = list(DEFAULT_SCOPES_MAP.keys())
|
||||
WRITE_SCOPES = DEFAULT_SCOPES + list(WRITE_SCOPES_MAP.keys())
|
||||
FULL_SCOPES = WRITE_SCOPES + list(FULL_SCOPES_MAP.keys())
|
||||
DEFAULT_SCOPES: Final = list(DEFAULT_SCOPES_MAP.keys())
|
||||
WRITE_SCOPES: Final = DEFAULT_SCOPES + list(WRITE_SCOPES_MAP.keys())
|
||||
FULL_SCOPES: Final = WRITE_SCOPES + list(FULL_SCOPES_MAP.keys())
|
||||
|
||||
credentials_exception = HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
|
||||
Reference in New Issue
Block a user