mirror of
https://github.com/N4S4/synology-api.git
synced 2025-07-24 10:00:37 +00:00
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
from typing import Optional, Any
|
|
from . import auth as syn
|
|
|
|
|
|
class BaseApi(object):
|
|
def __init__(self,
|
|
ip_address: str,
|
|
port: str,
|
|
username: str,
|
|
password: str,
|
|
secure: bool = False,
|
|
cert_verify: bool = False,
|
|
dsm_version: int = 7,
|
|
debug: bool = True,
|
|
otp_code: Optional[str] = None,
|
|
device_id: Optional[str] = None,
|
|
device_name: Optional[str] = None,
|
|
application: str = 'Core',
|
|
) -> None:
|
|
|
|
self.application = application
|
|
self.session: syn.Authentication = syn.Authentication(ip_address, port, username, password, secure, cert_verify,
|
|
dsm_version, debug, otp_code, device_id, device_name)
|
|
self.session.login(self.application)
|
|
self.session.get_api_list(self.application)
|
|
self.session.get_api_list()
|
|
|
|
self.request_data: Any = self.session.request_data
|
|
self.batch_request = self.session.request_multi_datas
|
|
self.core_list: Any = self.session.app_api_list
|
|
self.gen_list: Any = self.session.full_api_list
|
|
self._sid: str = self.session.sid
|
|
self.base_url: str = self.session.base_url
|
|
|
|
def logout(self) -> None:
|
|
self.session.logout(self.application)
|
|
return
|