Deduplicate rating list functions

This commit is contained in:
2024-03-14 09:59:00 +07:00
parent 5c48edc86b
commit ecebd5d774
4 changed files with 38 additions and 132 deletions

View File

@ -734,7 +734,13 @@ class ChuniProfileData(BaseData):
"total_play_count": total_play_count
}
async def _put_profile_rating(self, rating_type: str, aime_id: int, version: int, rating_data: List[Dict]):
async def put_profile_rating(
self,
aime_id: int,
version: int,
rating_type: str,
rating_data: List[Dict],
):
inserted_values = [
{"user": aime_id, "version": version, "type": rating_type, "index": i, **x}
for (i, x) in enumerate(rating_data)
@ -746,33 +752,8 @@ class ChuniProfileData(BaseData):
if result is None:
self.logger.warn(
f"put_profile_rating_{rating_type}: Could not insert rating entries, aime_id: {aime_id}",
f"put_profile_rating: Could not insert {rating_type}, aime_id: {aime_id}",
)
return
return result.lastrowid
async def put_profile_rating_best(self, aime_id: int, version: int, rating_best_data: List[Dict]):
return await self._put_profile_rating(
"best",
aime_id,
version,
rating_best_data,
)
async def put_profile_rating_hot(self, aime_id: int, version: int, rating_hot_data: List[Dict]):
return await self._put_profile_rating(
"hot",
aime_id,
version,
rating_hot_data,
)
async def put_profile_rating_next(self, aime_id: int, version: int, rating_next_data: List[Dict]):
return await self._put_profile_rating(
"next",
aime_id,
version,
rating_next_data,
)