Skip to content

Commit 22a1f49

Browse files
Revert: Reformat all
1 parent 508380e commit 22a1f49

File tree

5 files changed

+58
-26
lines changed

5 files changed

+58
-26
lines changed

alembic/versions/dcb059ce5b46_add_process_table.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@
55
Create Date: 2022-06-12 19:09:48.636469
66
77
"""
8-
from alembic import op
98
import sqlalchemy as sa
10-
9+
from alembic import op
1110

1211
# revision identifiers, used by Alembic.
13-
revision = 'dcb059ce5b46'
14-
down_revision = '21e5008f643b'
12+
revision = "dcb059ce5b46"
13+
down_revision = "21e5008f643b"
1514
branch_labels = None
1615
depends_on = None
1716

src/cruds/defaults/level.py

+34-12
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
from src.cruds.utils.funcs import remove_prefix
2323
from src.cruds.utils.search import buildDatabaseQuery
2424
from src.database.objects.background import Background as BackgroundSave
25-
from src.database.objects.file_map import FileMap
2625
from src.database.objects.effect import Effect as EffectSave
2726
from src.database.objects.engine import Engine as EngineSave
27+
from src.database.objects.file_map import FileMap
2828
from src.database.objects.genre import Genre as GenreSave
2929
from src.database.objects.level import Level as LevelSave
3030
from src.database.objects.particle import Particle as ParticleSave
@@ -57,7 +57,9 @@ class SRLConvert:
5757

5858

5959
class LevelCrud(AbstractCrud): # type: ignore
60-
async def create_dict(self, db: AsyncSession, model: LevelReqResp, exclude_unset: bool = False) -> Dict[str, Any]:
60+
async def create_dict(
61+
self, db: AsyncSession, model: LevelReqResp, exclude_unset: bool = False
62+
) -> Dict[str, Any]:
6163
"""モデルに指定されたSonolusオブジェクトをDBから取り出してIDを埋めます"""
6264
model_import: Dict[str, Any] = model.dict(exclude_unset=exclude_unset)
6365
# DB側カラム名に合わせる
@@ -70,15 +72,21 @@ async def create_dict(self, db: AsyncSession, model: LevelReqResp, exclude_unset
7072
if convert.name in model_import:
7173
obj_req = model_import[convert.name]
7274
if obj_req:
73-
obj_db = await get_first_item_or_404(db, select(convert.obj.id).filter(convert.obj.name == obj_req))
75+
obj_db = await get_first_item_or_404(
76+
db, select(convert.obj.id).filter(convert.obj.name == obj_req)
77+
)
7478
model_import[convert.name + "Id"] = obj_db
7579
# 存在してると変換できないフィールドを消す
76-
for key in ["artists", "artistsEn", "preview"] + [s.name for s in SRLConvertDict]:
80+
for key in ["artists", "artistsEn", "preview"] + [
81+
s.name for s in SRLConvertDict
82+
]:
7783
if key in model_import:
7884
del model_import[key]
7985
return model_import
8086

81-
async def bulk_db_to_resp(self, db: AsyncSession, level_db: LevelSave, localization: str = "ja") -> None:
87+
async def bulk_db_to_resp(
88+
self, db: AsyncSession, level_db: LevelSave, localization: str = "ja"
89+
) -> None:
8290
# 各地のSRLを応答型に変換し回る
8391
for db_obj in [
8492
level_db,
@@ -104,9 +112,13 @@ async def get_named_item_or_404(self, db: AsyncSession, name: str) -> LevelReqRe
104112
stmt.options(
105113
joinedload(LevelSave.engine).options(
106114
joinedload(EngineSave.user),
107-
joinedload(EngineSave.background).options(joinedload(BackgroundSave.user)),
115+
joinedload(EngineSave.background).options(
116+
joinedload(BackgroundSave.user)
117+
),
108118
joinedload(EngineSave.skin).options(joinedload(SkinSave.user)),
109-
joinedload(EngineSave.particle).options(joinedload(ParticleSave.user)),
119+
joinedload(EngineSave.particle).options(
120+
joinedload(ParticleSave.user)
121+
),
110122
joinedload(EngineSave.effect).options(joinedload(EffectSave.user)),
111123
),
112124
joinedload(LevelSave.genre),
@@ -148,7 +160,9 @@ async def add(
148160
)
149161
return resp
150162

151-
async def get(self, db: AsyncSession, name: str, localization: str) -> GetLevelResponse:
163+
async def get(
164+
self, db: AsyncSession, name: str, localization: str
165+
) -> GetLevelResponse:
152166
"""レベルを取得します"""
153167
level_db = await self.get_named_item_or_404(db, remove_prefix(name))
154168
await self.bulk_db_to_resp(db, level_db, localization)
@@ -192,17 +206,23 @@ async def delete(
192206
await super().delete(db, name, auth)
193207
return None
194208

195-
async def list(self, db: AsyncSession, page: int, queries: SearchQueries) -> GetLevelListResponse:
209+
async def list(
210+
self, db: AsyncSession, page: int, queries: SearchQueries
211+
) -> GetLevelListResponse:
196212
"""レベル一覧を取得します"""
197213
select_query = buildDatabaseQuery(LevelSave, queries, False)
198214
userPage: Page[LevelSave] = await paginate(
199215
db,
200216
select_query.options(
201217
selectinload(LevelSave.engine).options(
202218
joinedload(EngineSave.user),
203-
joinedload(EngineSave.background).options(joinedload(BackgroundSave.user)),
219+
joinedload(EngineSave.background).options(
220+
joinedload(BackgroundSave.user)
221+
),
204222
joinedload(EngineSave.skin).options(joinedload(SkinSave.user)),
205-
joinedload(EngineSave.particle).options(joinedload(ParticleSave.user)),
223+
joinedload(EngineSave.particle).options(
224+
joinedload(ParticleSave.user)
225+
),
206226
joinedload(EngineSave.effect).options(joinedload(EffectSave.user)),
207227
),
208228
joinedload(LevelSave.genre),
@@ -213,7 +233,9 @@ async def list(self, db: AsyncSession, page: int, queries: SearchQueries) -> Get
213233
Params(page=page + 1, size=20),
214234
) # type: ignore
215235
resp: SonolusPage = toSonolusPage(userPage)
216-
await asyncio.gather(*[self.bulk_db_to_resp(db, r, queries.localization) for r in resp.items])
236+
await asyncio.gather(
237+
*[self.bulk_db_to_resp(db, r, queries.localization) for r in resp.items]
238+
)
217239
resp.items = [r.toItem() for r in resp.items]
218240
return GetLevelListResponse(
219241
pageCount=resp.pageCount if resp.pageCount > 0 else 1,

src/cruds/utils/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
get_first_item,
33
get_first_item_or_403,
44
get_first_item_or_404,
5-
get_first_item_wait_or_404,
65
get_first_item_or_error,
6+
get_first_item_wait_or_404,
77
get_new_name,
88
is_exist,
99
not_exist_or_409,

src/cruds/utils/db.py

+15-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from abc import ABCMeta
21
import asyncio
2+
from abc import ABCMeta
33
from typing import Any, Optional, TypeVar
44

55
from fastapi import HTTPException
@@ -35,7 +35,9 @@ def get_first_item(db: AsyncSession, statement: Any) -> Optional[T]:
3535
return obj_db
3636

3737

38-
async def get_first_item_or_error(db: AsyncSession, statement: Any, error: HTTPException) -> T:
38+
async def get_first_item_or_error(
39+
db: AsyncSession, statement: Any, error: HTTPException
40+
) -> T:
3941
"""データベースに指定された要素が存在すれば取得、なければエラー"""
4042
resp: Result = await db.execute(statement)
4143
obj_db: Optional[T] = resp.scalars().first()
@@ -52,7 +54,9 @@ async def get_first_item_or_404(
5254
resp: T = await get_first_item_or_error(
5355
db,
5456
statement,
55-
HTTPException(status_code=404, detail="Specified content was not found on server"),
57+
HTTPException(
58+
status_code=404, detail="Specified content was not found on server"
59+
),
5660
)
5761
return resp
5862

@@ -62,7 +66,9 @@ async def get_first_item_or_403(
6266
statement: Any,
6367
) -> T:
6468
"""データベースに指定された要素が存在すれば取得、なければ Forbidden"""
65-
resp: T = await get_first_item_or_error(db, statement, HTTPException(status_code=403, detail="Forbidden"))
69+
resp: T = await get_first_item_or_error(
70+
db, statement, HTTPException(status_code=403, detail="Forbidden")
71+
)
6672
return resp
6773

6874

@@ -77,12 +83,14 @@ async def get_first_item_wait_or_404(
7783
return await get_first_item_or_error(
7884
db,
7985
statement,
80-
AssertionError,
86+
HTTPException(404),
8187
)
82-
except AssertionError:
88+
except HTTPException:
8389
await asyncio.sleep(1)
8490
else:
85-
raise HTTPException(status_code=400, detail="Specified content was not found on server")
91+
raise HTTPException(
92+
status_code=404, detail="Specified content was not found on server"
93+
)
8694

8795

8896
async def not_exist_or_409(db: AsyncSession, statement: Any) -> None:

src/tasks/image_process.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ class ImageProcessTask:
4747
hash: str
4848
user_display_id: str
4949

50-
def __init__(self, db: AsyncSession, type_: str, hash: str, user_display_id: str) -> None:
50+
def __init__(
51+
self, db: AsyncSession, type_: str, hash: str, user_display_id: str
52+
) -> None:
5153
self.status = ImageProcessStatus.PROCESSING
5254
self.db = db
5355
self.type = type_
@@ -60,7 +62,8 @@ async def __call__(self) -> None:
6062
try:
6163
async with httpx.AsyncClient() as client:
6264
resp = await client.post(
63-
f"{IMAGE_SERVICE_ENDPOINT}/convert", json={"type": self.type, "hash": self.hash}
65+
f"{IMAGE_SERVICE_ENDPOINT}/convert",
66+
json={"type": self.type, "hash": self.hash},
6467
)
6568
# 連携先がエラーを吐くと LevelConversionException
6669
if resp.status_code != 200:

0 commit comments

Comments
 (0)