From 2f253fecfbc1aa0cbe1bb45d07fb78e0c61f256e Mon Sep 17 00:00:00 2001 From: Kevin ICOL Date: Fri, 27 Nov 2020 18:14:11 +0100 Subject: [PATCH] feat: improve function get_headers --- synapse/http/watcha_nextcloud_api.py | 58 ++++++++++++++-------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/synapse/http/watcha_nextcloud_api.py b/synapse/http/watcha_nextcloud_api.py index eb5c30f23..175366454 100644 --- a/synapse/http/watcha_nextcloud_api.py +++ b/synapse/http/watcha_nextcloud_api.py @@ -8,8 +8,7 @@ logger = logging.getLogger(__name__) class WatchaNextcloudClient(SimpleHttpClient): - """ Interface for talking with Nextcloud APIs : https://doc.owncloud.com/server/admin_manual/configuration/user/user_provisioning_api.html - """ + """Interface for talking with Nextcloud APIs : https://doc.owncloud.com/server/admin_manual/configuration/user/user_provisioning_api.html""" def __init__(self, hs): super(WatchaNextcloudClient, self).__init__(hs) @@ -18,20 +17,17 @@ class WatchaNextcloudClient(SimpleHttpClient): self.nextcloud_server = hs.config.nextcloud_server self.service_account_name = hs.config.service_account_name self.service_account_password = hs.config.service_account_password + self.headers = self._get_headers() - @property - def _headers(self): + def _get_headers(self): return { "OCS-APIRequest": ["true"], "Authorization": [ "Basic " + b64encode( - bytes( - "{}:{}".format( - self.service_account_name, self.service_account_password, - ), - "utf-8", - ) + "{}:{}".format( + self.service_account_name, self.service_account_password + ).encode() ).decode() ], } @@ -47,7 +43,7 @@ class WatchaNextcloudClient(SimpleHttpClient): ) async def add_group(self, group_name): - """ Adds a new Nextcloud group. + """Adds a new Nextcloud group. Args: group_name: the name of the Nextcloud group @@ -62,7 +58,7 @@ class WatchaNextcloudClient(SimpleHttpClient): response = await self.post_json_get_json( uri="{}/ocs/v1.php/cloud/groups".format(self.nextcloud_server), post_json={"groupid": group_name}, - headers=self._headers, + headers=self.headers, ) meta = response["ocs"]["meta"] @@ -73,7 +69,7 @@ class WatchaNextcloudClient(SimpleHttpClient): self._raise_for_status(meta, Codes.NEXTCLOUD_CAN_NOT_CREATE_GROUP) async def delete_group(self, group_name): - """ Removes a existing Nextcloud group. + """Removes a existing Nextcloud group. Args: group_name: the name of the Nextcloud group @@ -88,7 +84,7 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{nextcloud_server}/ocs/v1.php/cloud/groups/{group_name}".format( nextcloud_server=self.nextcloud_server, group_name=group_name ), - headers=self._headers, + headers=self.headers, ) self._raise_for_status( @@ -96,7 +92,7 @@ class WatchaNextcloudClient(SimpleHttpClient): ) async def add_user_to_group(self, username, group_name): - """ Add user to the Nextcloud group. + """Add user to the Nextcloud group. Args: username: the username of the user to add to the group. @@ -116,7 +112,7 @@ class WatchaNextcloudClient(SimpleHttpClient): nextcloud_server=self.nextcloud_server, user_id=username ), post_json={"groupid": group_name}, - headers=self._headers, + headers=self.headers, ) self._raise_for_status( @@ -124,12 +120,12 @@ class WatchaNextcloudClient(SimpleHttpClient): ) async def remove_from_group(self, username, group_name): - """ Removes the specified user from the specified group. + """Removes the specified user from the specified group. Args: username: the username of the user to remove from the group. group_name: the group name. - + Status codes: 100: successful 101: no group specified @@ -143,7 +139,7 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{nextcloud_server}/ocs/v1.php/cloud/users/{user_id}/groups".format( nextcloud_server=self.nextcloud_server, user_id=username ), - headers=self._headers, + headers=self.headers, json_body={"groupid": group_name}, ) @@ -152,7 +148,7 @@ class WatchaNextcloudClient(SimpleHttpClient): ) async def get_user(self, username): - """ Add user to the Nextcloud group. + """Add user to the Nextcloud group. Args: username: the username of the user to add to the group. @@ -167,7 +163,7 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{nextcloud_server}/ocs/v1.php/cloud/users/{user_id}".format( nextcloud_server=self.nextcloud_server, user_id=username ), - headers=self._headers, + headers=self.headers, ) self._raise_for_status( @@ -177,8 +173,8 @@ class WatchaNextcloudClient(SimpleHttpClient): return response["ocs"]["data"] async def get_all_shares(self, requester, path): - """ Get informations about all shares and reshares on a folder - + """Get informations about all shares and reshares on a folder + Args: requester: the user who want to remove the share path: folder's path. @@ -194,8 +190,12 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{}/ocs/v2.php/apps/watcha_integrator/api/v1/shares".format( self.nextcloud_server ), - args={"requester": requester, "path": path, "reshare": "true",}, - headers=self._headers, + args={ + "requester": requester, + "path": path, + "reshare": "true", + }, + headers=self.headers, ) self._raise_for_status( @@ -205,7 +205,7 @@ class WatchaNextcloudClient(SimpleHttpClient): return response["ocs"]["data"] async def create_all_permission_share_with_group(self, requester, path, group_name): - """ Share an existing file or folder with all permissions for a group. + """Share an existing file or folder with all permissions for a group. Args: requester: the user who want to remove the share @@ -238,7 +238,7 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{}/ocs/v2.php/apps/watcha_integrator/api/v1/shares".format( self.nextcloud_server ), - headers=self._headers, + headers=self.headers, post_json={ "path": path, "shareType": 1, @@ -253,7 +253,7 @@ class WatchaNextcloudClient(SimpleHttpClient): ) async def delete_share(self, requester, share_id): - """ Remove a given Nextcloud share + """Remove a given Nextcloud share Args: requester: the user who want to remove the share @@ -268,7 +268,7 @@ class WatchaNextcloudClient(SimpleHttpClient): uri="{}/ocs/v2.php/apps/watcha_integrator/api/v1/shares/{}".format( self.nextcloud_server, share_id ), - headers=self._headers, + headers=self.headers, json_body={"requester": requester}, )