Module runescapeapi.clan
Expand source code
from dataclasses import dataclass
from typing import List
import requests
from . import BASE_URL
@dataclass
class ClanMember:
rsn: str
rank: str
clan_xp: int
kills: int
@staticmethod
def url(clan_name: str) -> str:
url = f"{BASE_URL}m=clan-hiscores/members_lite.ws?clanName={clan_name}"
return url.replace(" ", "%20")
@staticmethod
def from_response(raw_responce: str) -> List["ClanMember"]:
members = []
for member in raw_responce.replace("\xa0", " ").splitlines()[1:]:
print(member)
rsn, rank, clan_xp, kills = member.split(",")
members.append(
ClanMember(
rsn=rsn, rank=rank, clan_xp=int(clan_xp), kills=int(kills)
)
)
return members
@classmethod
def try_fetch(cls, clan_name: str) -> List["ClanMember"]:
r = requests.get(cls.url(clan_name)).text
return cls.from_response(r)
Classes
class ClanMember (rsn: str, rank: str, clan_xp: int, kills: int)
-
ClanMember(rsn: str, rank: str, clan_xp: int, kills: int)
Expand source code
@dataclass class ClanMember: rsn: str rank: str clan_xp: int kills: int @staticmethod def url(clan_name: str) -> str: url = f"{BASE_URL}m=clan-hiscores/members_lite.ws?clanName={clan_name}" return url.replace(" ", "%20") @staticmethod def from_response(raw_responce: str) -> List["ClanMember"]: members = [] for member in raw_responce.replace("\xa0", " ").splitlines()[1:]: print(member) rsn, rank, clan_xp, kills = member.split(",") members.append( ClanMember( rsn=rsn, rank=rank, clan_xp=int(clan_xp), kills=int(kills) ) ) return members @classmethod def try_fetch(cls, clan_name: str) -> List["ClanMember"]: r = requests.get(cls.url(clan_name)).text return cls.from_response(r)
Class variables
var clan_xp : int
var kills : int
var rank : str
var rsn : str
Static methods
def from_response(raw_responce: str) ‑> List[ClanMember]
-
Expand source code
@staticmethod def from_response(raw_responce: str) -> List["ClanMember"]: members = [] for member in raw_responce.replace("\xa0", " ").splitlines()[1:]: print(member) rsn, rank, clan_xp, kills = member.split(",") members.append( ClanMember( rsn=rsn, rank=rank, clan_xp=int(clan_xp), kills=int(kills) ) ) return members
def try_fetch(clan_name: str) ‑> List[ClanMember]
-
Expand source code
@classmethod def try_fetch(cls, clan_name: str) -> List["ClanMember"]: r = requests.get(cls.url(clan_name)).text return cls.from_response(r)
def url(clan_name: str) ‑> str
-
Expand source code
@staticmethod def url(clan_name: str) -> str: url = f"{BASE_URL}m=clan-hiscores/members_lite.ws?clanName={clan_name}" return url.replace(" ", "%20")