Merge pull request #191 from maybeec/device_id_name_login

Added DSM v7 API Login option of device_id and device_name
This commit is contained in:
Renato
2024-12-28 01:02:31 +01:00
committed by GitHub
4 changed files with 20 additions and 5 deletions

View File

@ -25,7 +25,9 @@ class Authentication:
cert_verify: bool = False,
dsm_version: int = 7,
debug: bool = True,
otp_code: Optional[str] = None
otp_code: Optional[str] = None,
device_id: Optional[str] = None,
device_name: Optional[str] = None
) -> None:
self._ip_address: str = ip_address
@ -40,6 +42,8 @@ class Authentication:
self._version: int = dsm_version
self._debug: bool = debug
self._otp_code: Optional[str] = otp_code
self._device_id: Optional[str] = device_id
self._device_name: Optional[str] = device_name
if self._verify is False:
disable_warnings(InsecureRequestWarning)
@ -60,6 +64,11 @@ class Authentication:
'passwd': self._password, 'session': application, 'format': 'cookie', 'enable_syno_token':'yes'}
if self._otp_code:
params['otp_code'] = self._otp_code
if self._device_id is not None and self._device_name is not None:
params['device_id'] = self._device_id
params['device_name'] = self._device_name
if self._device_id is not None and self._device_name is None or self._device_id is None and self._device_name is not None:
print("device_id and device_name must be set together")
if not self._session_expire and self._sid is not None:
self._session_expire = False

View File

@ -13,12 +13,14 @@ class BaseApi(object):
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)
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()

View File

@ -26,11 +26,13 @@ class FileStation(base_api.BaseApi):
dsm_version: int = 7,
debug: bool = True,
otp_code: Optional[str] = None,
device_id: Optional[str] = None,
device_name: Optional[str] = None,
interactive_output: bool = True
) -> None:
super(FileStation, self).__init__(ip_address, port, username, password, secure, cert_verify,
dsm_version, debug, otp_code, 'FileStation')
dsm_version, debug, otp_code, device_id, device_name, 'FileStation')
self._dir_taskid: str = ''
self._dir_taskid_list: list[str] = []

View File

@ -15,11 +15,13 @@ class Photos(base_api.BaseApi):
cert_verify: bool = False,
dsm_version: int = 7,
debug: bool = True,
otp_code: Optional[str] = None
otp_code: Optional[str] = None,
device_id: Optional[str] = None,
device_name: Optional[str] = None
) -> None:
super(Photos, self).__init__(ip_address, port, username, password, secure, cert_verify,
dsm_version, debug, otp_code, 'FotoStation')
dsm_version, debug, otp_code, device_id, device_name, 'FotoStation')
self.session.get_api_list('Foto')