Skip to content

Commit

Permalink
docs: Update README.md and examples.
Browse files Browse the repository at this point in the history
  • Loading branch information
KT-Yeh committed Jun 10, 2023
1 parent 2fd4d7e commit 5196844
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 12 deletions.
49 changes: 40 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# mihomo
A simple Python Pydantic model (type hint and autocompletion support) for Honkai: Star Rail parsed data from the Mihomo API.
A simple python pydantic model (type hint and autocompletion support) for Honkai: Star Rail parsed data from the Mihomo API.

API url: https://api.mihomo.me/sr_info_parsed/{UID}?lang={LANG}

Expand All @@ -10,19 +10,35 @@ pip install -U git+https://github.com/KT-Yeh/mihomo.git

## Usage

### Basic
An example for https://api.mihomo.me/sr_info_parsed/800333171?lang=en

### Basic
There are two parsed data formats:
- V1:
- URL: https://api.mihomo.me/sr_info_parsed/800333171?lang=en&version=v1
- Fetching: use `client.fetch_user_v1(800333171)`
- Data model: `mihomo.models.v1.StarrailInfoParsedV1`
- All models defined in `mihomo/models/v1` directory.
- V2:
- URL: https://api.mihomo.me/sr_info_parsed/800333171?lang=en
- Fetching: use `client.fetch_user(800333171)`
- Data model: `mihomo.models.StarrailInfoParsed`
- All models defined in `mihomo/models` directory.

If you don't want to use `client.get_icon_url` to get the image url everytime, you can use `client.fetch_user(800333171, replace_icon_name_with_url=True)` to get the parsed data with asset urls.

### Example
```py
import asyncio

from mihomo import MihomoAPI, Language
from mihomo import Language, MihomoAPI
from mihomo.models import StarrailInfoParsed
from mihomo.models.v1 import StarrailInfoParsedV1

client = MihomoAPI(language=Language.EN)

async def main():
data = await client.fetch_user(800333171)


async def v1():
data: StarrailInfoParsedV1 = await client.fetch_user_v1(800333171)

print(f"Name: {data.player.name}")
print(f"Level: {data.player.level}")
print(f"Signature: {data.player.signature}")
Expand All @@ -38,7 +54,22 @@ async def main():
print(f"Preview url: {client.get_icon_url(character.preview)}")
print(f"Portrait url: {client.get_icon_url(character.portrait)}")

asyncio.run(main())

async def v2():
data: StarrailInfoParsed = await client.fetch_user(800333171, replace_icon_name_with_url=True)

print(f"Name: {data.player.name}")
print(f"Level: {data.player.level}")
print(f"Signature: {data.player.signature}")
print(f"Profile picture url: {data.player.avatar.icon}")
for character in data.characters:
print("-----------")
print(f"Name: {character.name}")
print(f"Rarity: {character.rarity}")
print(f"Portrait url: {character.portrait}")

asyncio.run(v1())
asyncio.run(v2())
```

### Tools
Expand Down
23 changes: 20 additions & 3 deletions examples/basic.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import asyncio

from mihomo import Language, MihomoAPI
from mihomo.models import StarrailInfoParsed
from mihomo.models.v1 import StarrailInfoParsedV1

client = MihomoAPI(language=Language.EN)


async def main():
data = await client.fetch_user(800333171)
async def v1():
data: StarrailInfoParsedV1 = await client.fetch_user_v1(800333171)

print(f"Name: {data.player.name}")
print(f"Level: {data.player.level}")
Expand All @@ -24,4 +26,19 @@ async def main():
print(f"Portrait url: {client.get_icon_url(character.portrait)}")


asyncio.run(main())
async def v2():
data: StarrailInfoParsed = await client.fetch_user(800333171, replace_icon_name_with_url=True)

print(f"Name: {data.player.name}")
print(f"Level: {data.player.level}")
print(f"Signature: {data.player.signature}")
print(f"Profile picture url: {data.player.avatar.icon}")
for character in data.characters:
print("-----------")
print(f"Name: {character.name}")
print(f"Rarity: {character.rarity}")
print(f"Portrait url: {character.portrait}")


asyncio.run(v1())
asyncio.run(v2())

0 comments on commit 5196844

Please sign in to comment.