From f630ed6ad7908f371e20b36d4198018703434c6a Mon Sep 17 00:00:00 2001 From: Joe Fox <136865424+BogPlaymate@users.noreply.github.com> Date: Thu, 11 Jul 2024 06:32:46 +0900 Subject: [PATCH] Delete classquiz/config (copy).py Cleaning up --- classquiz/config (copy).py | 107 ------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 classquiz/config (copy).py diff --git a/classquiz/config (copy).py b/classquiz/config (copy).py deleted file mode 100644 index b6f7635..0000000 --- a/classquiz/config (copy).py +++ /dev/null @@ -1,107 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Marlon W (Mawoka) -# -# SPDX-License-Identifier: MPL-2.0 - -import re -from functools import lru_cache - -from redis import asyncio as redis_lib -import redis as redis_base_lib -from pydantic import BaseSettings, RedisDsn, PostgresDsn, BaseModel -import meilisearch as MeiliSearch -from typing import Optional -from arq import create_pool -from arq.connections import RedisSettings, ArqRedis - -from classquiz.storage import Storage - - -class CustomOpenIDProvider(BaseModel): - scopes: str = "openid email profile" - server_metadata_url: str - client_id: str - client_secret: str - - -class Settings(BaseSettings): - """ - Settings class for the shop app. - """ - - root_address: str = "http://127.0.0.1:8000" - redis: RedisDsn = "redis://localhost:6379/0?decode_responses=True" - skip_email_verification: bool = False - db_url: str | PostgresDsn = "postgresql://postgres:mysecretpassword@localhost:5432/classquiz" - hcaptcha_key: str | None = None - recaptcha_key: str | None = None - mail_address: str - mail_password: str - mail_username: str - mail_server: str - mail_port: int - secret_key: str - access_token_expire_minutes: int = 30 - cache_expiry: int = 86400 - sentry_dsn: str | None - meilisearch_url: str = "http://127.0.0.1:7700" - meilisearch_index: str = "classquiz" - google_client_id: Optional[str] - google_client_secret: Optional[str] - github_client_id: Optional[str] - github_client_secret: Optional[str] - custom_openid_provider: CustomOpenIDProvider | None = None - telemetry_enabled: bool = True - free_storage_limit: int = 1074000000 - pixabay_api_key: str | None = None - mods: list[str] = [] - registration_disabled: bool = False - - # storage_backend - storage_backend: str | None = "local" - - # if storage_backend == "local": - storage_path: str | None - - # if storage_backend == "s3": - s3_access_key: str | None - s3_secret_key: str | None - s3_bucket_name: str = "classquiz" - s3_base_url: str | None - - class Config: - env_file = ".env" - env_file_encoding = "utf-8" - env_nested_delimiter = "__" - - -async def initialize_arq(): - # skipcq: PYL-W0603 - global arq - arq = await create_pool(RedisSettings.from_dsn(settings.redis)) - - -@lru_cache() -def settings() -> Settings: - return Settings() - - -pool = redis_lib.ConnectionPool().from_url(settings().redis) - -redis: redis_base_lib.client.Redis = redis_lib.Redis(connection_pool=pool) -arq: ArqRedis = ArqRedis(pool_or_conn=pool) -storage: Storage = Storage( - backend=settings().storage_backend, - storage_path=settings().storage_path, - access_key=settings().s3_access_key, - secret_key=settings().s3_secret_key, - bucket_name=settings().s3_bucket_name, - base_url=settings().s3_base_url, -) - -meilisearch = MeiliSearch.Client(settings().meilisearch_url) - -ALLOWED_TAGS_FOR_QUIZ = ["b", "strong", "i", "em", "small", "mark", "del", "sub", "sup"] - -ALLOWED_MIME_TYPES = ["image/png", "video/mp4", "image/jpeg", "image/gif", "image/webp"] - -server_regex = rf"^{re.escape(settings().root_address)}/api/v1/storage/download/.{{36}}--.{{36}}$"