21 lines
657 B
Python
21 lines
657 B
Python
from typing import List, Optional
|
|
|
|
from bemani.data.api.client import APIClient
|
|
from bemani.data.interfaces import APIProviderInterface
|
|
|
|
|
|
class BaseGlobalData:
|
|
def __init__(self, api: APIProviderInterface) -> None:
|
|
self.__localapi = api
|
|
self.__apiclients: Optional[List[APIClient]] = None
|
|
|
|
@property
|
|
def clients(self) -> List[APIClient]:
|
|
if self.__apiclients is None:
|
|
servers = self.__localapi.get_all_servers()
|
|
self.__apiclients = [
|
|
APIClient(server.uri, server.token, server.allow_stats, server.allow_scores) for server in servers
|
|
]
|
|
|
|
return self.__apiclients
|