1
0
mirror of https://github.com/ycd/manage-fastapi.git synced 2021-11-08 01:34:39 +03:00

🔧 Add configuration on generated projects

This commit is contained in:
Marcelo Trylesinski
2020-11-22 22:27:07 +01:00
parent c4f8d2d080
commit f9b4177729
5 changed files with 25 additions and 3 deletions

View File

@@ -14,7 +14,7 @@ class BaseMetadataEnum(EnumMeta):
return True
class BaseEnum(Enum, metaclass=BaseMetadataEnum):
class BaseEnum(str, Enum, metaclass=BaseMetadataEnum):
"""Base enum class."""

View File

@@ -1,13 +1,19 @@
import subprocess
from datetime import datetime
from enum import Enum
from typing import Optional
from pydantic import BaseModel, EmailStr, root_validator
from pydantic.class_validators import validator
from manage_fastapi.config import FASTAPI_VERSION
from manage_fastapi.constants import PackageManager, PythonVersion
def enum_to_str(enum: Enum) -> str:
return enum.value
class Context(BaseModel):
name: str
folder_name: str
@@ -36,3 +42,5 @@ class Context(BaseModel):
values["folder_name"] = values["name"].lower().replace(" ", "-").strip()
values["year"] = datetime.today().year
return values
_python = validator("python", allow_reuse=True)(enum_to_str)

View File

@@ -0,0 +1,11 @@
from pydantic import BaseSettings
class Settings(BaseSettings):
PROJECT_NAME: str
class Config:
env_file = ".env"
settings = Settings()

View File

@@ -1,3 +1,5 @@
from fastapi import FastAPI
app = FastAPI()
from app.config import settings
app = FastAPI(title=settings.PROJECT_NAME)

View File

@@ -1,6 +1,7 @@
[isort]
profile = black
known_first_party = manage_fastapi
known_first_party = manage_fastapi,app
skip = '{{ cookiecutter.folder_name }}/*'
[flake8]
max-complexity = 7