Source code for fpl.models.classic_league
from ..constants import API_URLS
from ..utils import fetch
[docs]class ClassicLeague():
"""A class representing a classic league in the Fantasy Premier League.
Basic usage::
from fpl import FPL
import aiohttp
import asyncio
>>>
async def main():
async with aiohttp.ClientSession() as session:
fpl = FPL(session)
await fpl.login()
classic_league = await fpl.get_classic_league(1137)
print(classic_league)
...
# Python 3.7+
asyncio.run(main())
# Python 3.6
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
...
Official /r/FantasyPL Classic League - 1137
"""
def __init__(self, league_information, session):
self._session = session
for k, v in league_information.items():
setattr(self, k, v)
[docs] async def get_standings(self, page=1, page_new_entries=1, phase=1):
"""Returns the league's standings of the given page.
Information is taken from e.g.:
https://fantasy.premierleague.com/api/leagues-classic/967/standings/?page_new_entries=1&page_standings=1&phase=1
:param page: A page of the league's standings (default is 50 managers
per page).
:type page: string or int
:rtype: dict
"""
if hasattr(self, "standings") and self.standings["page"] == page:
return self.standings
url = "{}?page_new_entries={}&page_standings={}&phase={}".format(
API_URLS["league_classic"].format(self.league["id"]),
page_new_entries, page, phase)
standings = await fetch(self._session, url)
self.standings = standings["standings"]
return standings["standings"]
def __str__(self):
return f"{self.league['name']} - {self.league['id']}"