Нет описания

fpl_lib.py 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. from fpl import FPL
  2. from fpl.utils import get_current_gameweek
  3. import aiohttp
  4. import asyncio
  5. class Team:
  6. def __init__(self, name):
  7. self.name = name
  8. def set_players(self, players):
  9. self.players = players
  10. def show_players_info(self):
  11. print(f"{self.name} players:")
  12. for p in self.players:
  13. print(f"{p} gs = {p.goals_scored} tp = {p.total_points}")
  14. total = sum(p.goals_scored for p in self.players)
  15. print(f"Total Score => {total}")
  16. class SFL:
  17. def __init__(self, name):
  18. self.name = name
  19. async def _setup(self):
  20. async with aiohttp.ClientSession() as session:
  21. self.session = session
  22. self.fpl = FPL(self.session)
  23. self.players = await self.fpl.get_players()
  24. #return self
  25. def setup(self):
  26. asyncio.set_event_loop(asyncio.SelectorEventLoop())
  27. asyncio.get_event_loop().run_until_complete(self._setup())
  28. def get_player(self, pid):
  29. asyncio.set_event_loop(asyncio.SelectorEventLoop())
  30. return asyncio.get_event_loop().run_until_complete(self._get_player(pid))
  31. async def _get_player(self, pid):
  32. return await self.fpl.get_player(pid)
  33. async def main():
  34. async with aiohttp.ClientSession() as session:
  35. fpl = FPL(session)
  36. gameweek = await fpl.get_gameweek(1)
  37. cg = await get_current_gameweek(fpl.session)
  38. gameweek2 = await fpl.get_gameweek(cg)
  39. gameweek3 = await fpl.get_gameweek(cg+1)
  40. players = await fpl.get_players()
  41. #print("==== players ====")
  42. '''
  43. for p in players[:10]:
  44. print(dir(p))
  45. '''
  46. #print(gameweek.name)
  47. #print(cg)
  48. #print(dir(gameweek))
  49. print(gameweek2)
  50. print("======================")
  51. #print(gameweek3)
  52. team = Team("Tum Team")
  53. team.set_players(players[:15])
  54. team.show_players_info()
  55. if __name__ == "__main__":
  56. asyncio.get_event_loop().run_until_complete(main())