diff --git a/pyproject.toml b/pyproject.toml index a40ad73..72bc9d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "synology_drive_api" -version = "1.0.9" +version = "1.0.10" description = "synology drive api python wrapper" authors = ["zbjdonald "] license = "MIT" diff --git a/synology_drive_api/base.py b/synology_drive_api/base.py index 4ee4f06..3a86f8a 100644 --- a/synology_drive_api/base.py +++ b/synology_drive_api/base.py @@ -139,7 +139,7 @@ class SynologySession: _session_expire: bool = True # dsm version, used for login api version dsm_version: str = '6' - max_retry: int = 10 + max_retry: int = 3 def __init__(self, username: str, @@ -149,7 +149,7 @@ class SynologySession: nas_domain: Optional[str] = None, https: Optional[bool] = True, dsm_version: str = '6', - max_retry: int = 10) -> None: + max_retry: int = 3) -> None: assert dsm_version in ('6', '7'), "dsm_version should be either '6' or '7'." nas_address = concat_nas_address(ip_address, port, nas_domain, https) @@ -212,9 +212,9 @@ class SynologySession: except SynologyException as e: # retry # 105: permission denied by anonymous - # 1003 1002: update file information failed + # 1003 1002: get file information failed if e.code in (105, 1003, 1002): - sleep(1) + sleep(0.5 * (retry + 1)) if retry == self.max_retries - 1: raise e else: diff --git a/synology_drive_api/files.py b/synology_drive_api/files.py index cdba207..39d0a07 100644 --- a/synology_drive_api/files.py +++ b/synology_drive_api/files.py @@ -109,7 +109,7 @@ class FilesMixin: api_name = 'SYNO.SynologyDrive.Files' endpoint = 'entry.cgi' - data = {'api': api_name, 'method': 'update', 'version': 2, 'path': path_params} + data = {'api': api_name, 'method': 'get', 'version': 3, 'path': path_params} urlencoded_data = form_urlencoded(data) return self.session.http_post(endpoint, data=urlencoded_data)