Как вызвать метод класса из родителя?
from starlette.websockets import WebSocket
class Player:
__ws = ''
def __init__(self, ws: WebSocket, state: str = 'X')->None:
self.__ws = ws
...
class Game:
players = []
...
async def create(cls, ws:WebSocket):
self = cls()
player = await self.create_player(ws)
...
def get_sockets(self):
if(len(self.players)==1):
return [self.players[0].__ws]
else:
return [self.players[0].__ws, self.players[1].__ws]
async def create_player(self, ws:WebSocket):
return Player(ws)
async def join_player(self, ws:WebSocket):
player = Player(ws,'O')
...
def get_players(self):
return self.players
В другом файле
import typing
from starlette.endpoints import WebSocketEndpoint
from starlette.websockets import WebSocket
from .game import Game, Player
class WSGame(WebSocketEndpoint):
games = []
...
async def on_receive(self, websocket: WebSocket, data: typing.Any) -> None:
...
for game in self.games:
for sock in game.get_sockets():
await self.update(sock)
Ошибка
line 47, in on_receive
for sock in game.get_sockets():
AttributeError: 'NoneType' object has no attribute 'get_sockets'
То есть вообще не видит типа элементов массива и почему то если сделать print массива выдает [None]