diff --git a/setup.cfg b/setup.cfg index 3ffb5b4..13f772b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,7 +1,7 @@ [metadata] name = nextcloud-api-wrapper -version = 0.2.2 +version = 0.2.3 description= Python wrapper for NextCloud api long_description = file: README.rst keywords = requests, api, wrapper, nextcloud, owncloud diff --git a/src/nextcloud/api_wrappers/share.py b/src/nextcloud/api_wrappers/share.py index a295ccc..70e27ee 100644 --- a/src/nextcloud/api_wrappers/share.py +++ b/src/nextcloud/api_wrappers/share.py @@ -129,13 +129,14 @@ def delete_share(self, sid): return self.requester.delete(self.get_local_url(sid)) def update_share(self, sid, - permissions=None, password=None, public_upload=None, expire_date=""): + permissions=None, hide_download=None, password=None, public_upload=None, expire_date=""): """ Update a given share, only one value can be updated per request Args: sid (str): share id permissions (int): sum of selected Permission attributes + hide_download (bool): bool, allow to show download button (true/false) password (str): password to protect public link Share with public_upload (bool): bool, allow public upload to a public shared folder (true/false) expire_date (str): set an expire date for public link shares. Format: ‘YYYY-MM-DD’ @@ -145,18 +146,19 @@ def update_share(self, sid, """ params = dict( permissions=permissions, + hideDownload=hide_download, password=password, expireDate=expire_date ) if public_upload: params["publicUpload"] = "true" - if public_upload is False: + else: params["publicUpload"] = "false" - # check if only one param specified - specified_params_count = sum([int(bool(each)) for each in params.values()]) - if specified_params_count > 1: - raise ValueError("Only one parameter for update can be specified per request") + if hide_download: + params["hideDownload"] = "true" + else: + params["hideDownload"] = "false" url = self.get_local_url(sid) return self.requester.put(url, data=params)