31 lines
846 B
Python
31 lines
846 B
Python
import aiomas
|
|
|
|
from jaken.soul import SoulClient, Card
|
|
|
|
class SoulServer:
|
|
router = aiomas.rpc.Service()
|
|
|
|
def __init__(self):
|
|
self.soul_client = SoulClient()
|
|
|
|
async def connect(self):
|
|
await self.soul_client.connect()
|
|
|
|
@router.expose
|
|
async def search_cards(self, search_term, tier=None):
|
|
r = await self.soul_client.call("cardindex", {"search": search_term, "category": tier})
|
|
cards = [Card(doc).to_dict() for doc in r['data']['docs']]
|
|
|
|
return cards
|
|
|
|
@router.expose
|
|
async def get_card(self, card_id, with_users=False):
|
|
r = await self.soul_client.call("cardview", {"cardid": card_id})
|
|
card = Card(r['card']).to_dict()
|
|
users = r['users']
|
|
|
|
if with_users:
|
|
return dict(card=card, users=users)
|
|
else:
|
|
return dict(card=card)
|