diff --git a/nonebot_plugin_tetris_stats/db/__init__.py b/nonebot_plugin_tetris_stats/db/__init__.py index c5b7f29..fb0c89b 100644 --- a/nonebot_plugin_tetris_stats/db/__init__.py +++ b/nonebot_plugin_tetris_stats/db/__init__.py @@ -68,11 +68,11 @@ T = TypeVar('T', 'TETRIOHistoricalData', 'TOPHistoricalData', 'TOSHistoricalData lock = Lock() -async def anti_duplicate_add(cls: type[T], model: T) -> None: +async def anti_duplicate_add(model: T) -> None: async with lock, get_session() as session: result = ( await session.scalars( - select(cls) + select(cls := model.__class__) .where(cls.update_time == model.update_time) .where(cls.user_unique_identifier == model.user_unique_identifier) .where(cls.api_type == model.api_type) diff --git a/nonebot_plugin_tetris_stats/games/tetrio/api/player.py b/nonebot_plugin_tetris_stats/games/tetrio/api/player.py index 2f292be..892e0c4 100644 --- a/nonebot_plugin_tetris_stats/games/tetrio/api/player.py +++ b/nonebot_plugin_tetris_stats/games/tetrio/api/player.py @@ -122,7 +122,6 @@ class Player: raise RequestError(msg) self._user_info = user_info await anti_duplicate_add( - TETRIOHistoricalData, TETRIOHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type='User Info', @@ -155,7 +154,6 @@ class Player: raise RequestError(msg) self._summaries[summaries_type] = summaries await anti_duplicate_add( - TETRIOHistoricalData, TETRIOHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type=summaries_type, @@ -231,7 +229,6 @@ class Player: raise RequestError(msg) self._records[record_key] = records await anti_duplicate_add( - TETRIOHistoricalData, TETRIOHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type=record_key.to_records(), diff --git a/nonebot_plugin_tetris_stats/games/top/api/player.py b/nonebot_plugin_tetris_stats/games/top/api/player.py index 6c3397c..4e7f2eb 100644 --- a/nonebot_plugin_tetris_stats/games/top/api/player.py +++ b/nonebot_plugin_tetris_stats/games/top/api/player.py @@ -39,7 +39,6 @@ class Player: raw_user_profile = await Request.request(url, is_json=False) self._user_profile = self._parse_profile(raw_user_profile) await anti_duplicate_add( - TOPHistoricalData, TOPHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type='User Profile', diff --git a/nonebot_plugin_tetris_stats/games/tos/api/player.py b/nonebot_plugin_tetris_stats/games/tos/api/player.py index 9fed226..5260f6c 100644 --- a/nonebot_plugin_tetris_stats/games/tos/api/player.py +++ b/nonebot_plugin_tetris_stats/games/tos/api/player.py @@ -85,7 +85,6 @@ class Player: raise RequestError(msg) self._user_info = user_info await anti_duplicate_add( - TOSHistoricalData, TOSHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type='User Info', @@ -117,7 +116,6 @@ class Player: ) self._user_profile[params] = type_validate_json(UserProfile, raw_user_profile) await anti_duplicate_add( - TOSHistoricalData, TOSHistoricalData( user_unique_identifier=(await self.user).unique_identifier, api_type='User Profile',