DEViantUA / StarRailCard

Module for generating Honkai Star Rail character cards
https://discord.gg/eu55vTgmSA
Other
42 stars 11 forks source link

Cannot generate cards #7

Closed PaulJiang-123 closed 7 months ago

PaulJiang-123 commented 7 months ago

Traceback (most recent call last): File "d:\tiktok funstuff\test01.py", line 9, in asyncio.run(mains()) File "D:\Anaconda\envs\tiktok\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "D:\Anaconda\envs\tiktok\lib\asyncio\base_events.py", line 647, in run_until_complete return future.result() File "d:\tiktok funstuff\test01.py", line 6, in mains r = await hmhm.creat(113959091) File "D:\Anaconda\envs\tiktok\lib\site-packages\starrailcard\honkaicard.py", line 123, in creat data = await self.API.get_full_data(uid) File "D:\Anaconda\envs\tiktok\lib\site-packages\honkairail\starrailapi.py", line 19, in get_full_data data = await api.get_full(self.lang,uid,self.v) File "D:\Anaconda\envs\tiktok\lib\site-packages\honkairail\src\tools\api.py", line 85, in get_full return StarRailApiDataV2(player=data["player"], characters=data["characters"]) File "D:\Anaconda\envs\tiktok\lib\site-packages\pydantic\main.py", line 171, in init self.pydantic_validator.validate_python(data, self_instance=self) pydantic_core._pydantic_core.ValidationError: 2 validation errors for StarRailApiDataV2 player.birthday Field required [type=missing, input_value={'uid': '113959091', 'nic...chievement_count': 573}}, input_type=dict] For further information visit https://errors.pydantic.dev/2.6/v/missing player.space_info.pass_area_progress Field required [type=missing, input_value={'memory_data': {'level':...achievement_count': 573}, input_type=dict] For further information visit https://errors.pydantic.dev/2.6/v/missing Exception ignored in: <function _ProactorBasePipeTransport.del__ at 0x0000014DA86BD310> Traceback (most recent call last): File "D:\Anaconda\envs\tiktok\lib\asyncio\proactor_events.py", line 116, in del__ self.close() File "D:\Anaconda\envs\tiktok\lib\asyncio\proactor_events.py", line 108, in close self._loop.call_soon(self._call_connection_lost, None) File "D:\Anaconda\envs\tiktok\lib\asyncio\base_events.py", line 751, in call_soon self._check_closed() File "D:\Anaconda\envs\tiktok\lib\asyncio\base_events.py", line 515, in _check_closed raise RuntimeError('Event loop is closed') RuntimeError: Event loop is closed

I encounter these issues and I have no idea how to solve it. Also, does it support UID from Chinese server?

PaulJiang-123 commented 7 months ago

This is the code:

from starrailcard import honkaicard import asyncio

async def mains(): async with honkaicard.MiHoMoCard(template=1) as hmhm: r = await hmhm.creat(113959091) print(r)

asyncio.run(mains())

DEViantUA commented 7 months ago

This is related to pydantic v2

pip install pydantic==1.10.13

This will be fixed in the next version of the module, for now you'll have to rollback pydantic