🐛 Fix some genshin problems

This commit is contained in:
omg-xtao 2023-07-17 13:14:40 +08:00 committed by GitHub
parent 0354fe7aa5
commit 70b683268b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 30 deletions

View File

@ -57,7 +57,7 @@ class TransactionClient(BaseClient):
lang (str, optional): The language to use for the request. Defaults to None. lang (str, optional): The language to use for the request. Defaults to None.
""" """
kind = TransactionKind(kind) kind = TransactionKind(kind)
endpoint = "get" + kind.value.capitalize() + "Log" endpoint = "Get" + kind.value.capitalize() + "Log"
data = await self.request_transaction( data = await self.request_transaction(
endpoint, endpoint,

View File

@ -30,6 +30,7 @@ class Cookies(_Cookies):
for cookie in cookies.jar: for cookie in cookies.jar:
self.jar.set_cookie(cookie) self.jar.set_cookie(cookie)
elif isinstance(cookies, str): elif isinstance(cookies, str):
self.jar = CookieJar()
cookie = SimpleCookie(cookies) cookie = SimpleCookie(cookies)
for key, value in cookie.items(): for key, value in cookie.items():
self.set(key, value.value) self.set(key, value.value)

View File

@ -273,8 +273,8 @@ INFO_LEDGER_URL = GameRoute(
) )
YSULOG_URL = InternationalRoute( YSULOG_URL = InternationalRoute(
overseas="https://hk4e-api-os.hoyoverse.com/ysulog/api/", overseas="https://hk4e-api-os.hoyoverse.com/common/hk4e_self_help_query/User/",
chinese="https://hk4e-api.mihoyo.com/ysulog/api/", chinese="https://hk4e-api.mihoyo.com/common/hk4e_self_help_query/User/",
) )
HK4E_URL = Route("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/") HK4E_URL = Route("https://sg-hk4e-api.hoyoverse.com/common/hk4e_global/")

View File

@ -1,12 +1,11 @@
from datetime import timedelta, datetime from datetime import timedelta, datetime
from typing import Union, Literal, Tuple, List, Optional, Dict, Any from typing import Union, Literal, Tuple, List, Optional, Dict, Any
from pydantic import Field, root_validator, validator from pydantic import Field, root_validator
from simnet.models.base import APIModel from simnet.models.base import APIModel
from simnet.models.genshin.character import BaseCharacter
__all__ = ("Expedition", "ExpeditionCharacter", "Notes") __all__ = ("Expedition", "Notes")
def _process_timedelta(time: Union[int, timedelta, datetime]) -> datetime: def _process_timedelta(time: Union[int, timedelta, datetime]) -> datetime:
@ -36,20 +35,16 @@ def _process_timedelta(time: Union[int, timedelta, datetime]) -> datetime:
return time return time
class ExpeditionCharacter(BaseCharacter):
"""Expedition character."""
class Expedition(APIModel): class Expedition(APIModel):
"""The model for a real-time expedition. """The model for a real-time expedition.
Attributes: Attributes:
character (ExpeditionCharacter): The expedition character. character (str): The expedition character icon url.
status (Literal["Ongoing", "Finished"]): The status of the expedition. status (Literal["Ongoing", "Finished"]): The status of the expedition.
remaining_time (timedelta): The remaining time of the expedition. remaining_time (timedelta): The remaining time of the expedition.
""" """
character: ExpeditionCharacter = Field(alias="avatar_side_icon") character: str = Field(alias="avatar_side_icon")
status: Literal["Ongoing", "Finished"] status: Literal["Ongoing", "Finished"]
remaining_time: timedelta = Field(alias="remained_time") remaining_time: timedelta = Field(alias="remained_time")
@ -63,20 +58,6 @@ class Expedition(APIModel):
"""A property that returns the completion time of the expedition.""" """A property that returns the completion time of the expedition."""
return datetime.now().astimezone() + self.remaining_time return datetime.now().astimezone() + self.remaining_time
@validator("character", pre=True)
def complete_character(cls, v: Any) -> Any:
"""A validator that completes the expedition character information.
Args:
v (Any): The input character information.
Returns:
Any: The completed character information.
"""
if isinstance(v, str):
return dict(icon=v) # type: ignore
return v
class TransformerTimedelta(timedelta): class TransformerTimedelta(timedelta):
"""The model for a transformer recovery time.""" """The model for a transformer recovery time."""

View File

@ -33,10 +33,9 @@ class BaseTransaction(APIModel):
kind: TransactionKind kind: TransactionKind
id: int id: int
uid: int time: datetime = Field(alias="datetime")
time: datetime
amount: int = Field(alias="add_num") amount: int = Field(alias="add_num")
reason_id: int = Field(alias="reason") reason: str
class Transaction(BaseTransaction): class Transaction(BaseTransaction):
@ -51,4 +50,4 @@ class ItemTransaction(BaseTransaction):
kind: Literal[TransactionKind.ARTIFACT, TransactionKind.WEAPON] kind: Literal[TransactionKind.ARTIFACT, TransactionKind.WEAPON]
name: str name: str
rarity: int = Field(alias="rank") rarity: int = Field(alias="quality")