diff --git a/Makefile b/Makefile index e51c7e6..f3f955f 100644 --- a/Makefile +++ b/Makefile @@ -14,15 +14,15 @@ push: docker push registry.domandoman.xyz/fooder/api black: - black . + black fooder .PHONY: mypy mypy: - mypy . + mypy fooder .PHONY: flake flake: - flake8 . + flake8 fooder .PHONY: lint lint: black mypy flake diff --git a/fooder/auth.py b/fooder/auth.py index 856cbea..e1596ed 100644 --- a/fooder/auth.py +++ b/fooder/auth.py @@ -3,10 +3,9 @@ from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.ext.asyncio import async_sessionmaker from jose import JWTError, jwt from fastapi.security import OAuth2PasswordBearer -from fastapi import Depends, FastAPI, HTTPException +from fastapi import Depends, HTTPException from fastapi_users.password import PasswordHelper -from sqlalchemy.ext.asyncio import async_sessionmaker -from typing import AsyncGenerator, Dict, Annotated, Optional +from typing import AsyncGenerator, Annotated from datetime import datetime, timedelta from .settings import Settings from .domain.user import User diff --git a/fooder/controller/base.py b/fooder/controller/base.py index 9332377..0fc3d0c 100644 --- a/fooder/controller/base.py +++ b/fooder/controller/base.py @@ -2,7 +2,7 @@ from typing import Annotated, Any from fastapi import Depends from sqlalchemy.ext.asyncio import async_sessionmaker from ..db import get_session -from ..auth import get_current_user, oauth2_scheme +from ..auth import get_current_user from ..domain.user import User diff --git a/fooder/controller/diary.py b/fooder/controller/diary.py index 54362f2..f2bacca 100644 --- a/fooder/controller/diary.py +++ b/fooder/controller/diary.py @@ -3,7 +3,6 @@ from fastapi import HTTPException from ..model.diary import Diary from ..domain.diary import Diary as DBDiary -from ..domain.meal import Meal as DBMeal from .base import AuthorizedController diff --git a/fooder/controller/entry.py b/fooder/controller/entry.py index 5f75dec..04d419e 100644 --- a/fooder/controller/entry.py +++ b/fooder/controller/entry.py @@ -1,4 +1,3 @@ -from typing import AsyncIterator from fastapi import HTTPException from ..model.entry import Entry, CreateEntryPayload, UpdateEntryPayload diff --git a/fooder/controller/token.py b/fooder/controller/token.py index 5ac77f2..05d1055 100644 --- a/fooder/controller/token.py +++ b/fooder/controller/token.py @@ -1,11 +1,9 @@ -from typing import AsyncIterator, Annotated - -from fastapi import HTTPException, Depends +from fastapi import HTTPException from fastapi.security import OAuth2PasswordRequestForm from ..model.token import Token, RefreshTokenPayload from ..domain.user import User as DBUser -from .base import BaseController, AsyncSession +from .base import BaseController from ..auth import ( authenticate_user, create_access_token, diff --git a/fooder/controller/user.py b/fooder/controller/user.py index 634b8f6..6664a3f 100644 --- a/fooder/controller/user.py +++ b/fooder/controller/user.py @@ -1,5 +1,3 @@ -from typing import AsyncIterator - from fastapi import HTTPException from ..model.user import User, CreateUserPayload diff --git a/fooder/domain/__init__.py b/fooder/domain/__init__.py index 09b4eb6..d237f93 100644 --- a/fooder/domain/__init__.py +++ b/fooder/domain/__init__.py @@ -1,9 +1,9 @@ -from .base import Base -from .diary import Diary -from .entry import Entry -from .meal import Meal -from .product import Product -from .user import User -from .token import RefreshToken -from .preset import Preset -from .preset_entry import PresetEntry +from .base import Base # noqa +from .diary import Diary # noqa +from .entry import Entry # noqa +from .meal import Meal # noqa +from .product import Product # noqa +from .user import User # noqa +from .token import RefreshToken # noqa +from .preset import Preset # noqa +from .preset_entry import PresetEntry # noqa diff --git a/fooder/domain/base.py b/fooder/domain/base.py index 0fe1919..112aadc 100644 --- a/fooder/domain/base.py +++ b/fooder/domain/base.py @@ -1,5 +1,4 @@ from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, declared_attr -from sqlalchemy import Integer class Base(DeclarativeBase): diff --git a/fooder/domain/token.py b/fooder/domain/token.py index 67a2e6a..2ca5a25 100644 --- a/fooder/domain/token.py +++ b/fooder/domain/token.py @@ -1,4 +1,4 @@ -from sqlalchemy.orm import relationship, Mapped, mapped_column, joinedload, relationship +from sqlalchemy.orm import Mapped, mapped_column from sqlalchemy import ForeignKey, Integer from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession diff --git a/fooder/model/preset_entry.py b/fooder/model/preset_entry.py index 8d2ab93..e0e4add 100644 --- a/fooder/model/preset_entry.py +++ b/fooder/model/preset_entry.py @@ -1,5 +1,4 @@ from pydantic import BaseModel -from typing import Optional from .product import Product diff --git a/fooder/test/conftest.py b/fooder/test/conftest.py index d4bb209..ebe4cbe 100644 --- a/fooder/test/conftest.py +++ b/fooder/test/conftest.py @@ -1 +1 @@ -from .fixtures import * +from .fixtures import * # noqa diff --git a/fooder/test/fixtures/__init__.py b/fooder/test/fixtures/__init__.py index 64c0ec0..4b2a210 100644 --- a/fooder/test/fixtures/__init__.py +++ b/fooder/test/fixtures/__init__.py @@ -1,5 +1,5 @@ -from .client import * -from .user import * -from .product import * -from .meal import * -from .entry import * +from .client import * # noqa +from .user import * # noqa +from .product import * # noqa +from .meal import * # noqa +from .entry import * # noqa diff --git a/requirements_local.txt b/requirements_local.txt index ff4b6e7..d05118b 100644 --- a/requirements_local.txt +++ b/requirements_local.txt @@ -9,3 +9,5 @@ fastapi-users pytest requests black +flake8 +flake8-bugbear diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..fd1473f --- /dev/null +++ b/setup.cfg @@ -0,0 +1,6 @@ +[flake8] +max-line-length = 80 +extend-select = B950 +extend-ignore = E203,E501,E701 +extend-immutable-calls = + Depends