From cbe9abe886ea2d921e62f826cd5894820e618983 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Fri, 19 Apr 2024 15:21:22 -0700 Subject: [PATCH 1/7] add external course calls --- panopto_client/__init__.py | 3 + panopto_client/access.py | 5 -- panopto_client/remote_recorder.py | 6 -- panopto_client/session.py | 34 ++++---- panopto_client/tests/test_access.py | 28 +++---- panopto_client/tests/test_remote_recorder.py | 26 +++--- panopto_client/tests/test_session.py | 88 ++++++++++---------- panopto_client/tests/test_usage.py | 5 +- panopto_client/tests/test_user.py | 13 ++- panopto_client/usage.py | 1 - panopto_client/user.py | 3 - 11 files changed, 95 insertions(+), 117 deletions(-) diff --git a/panopto_client/__init__.py b/panopto_client/__init__.py index 69a0748..acca4d9 100644 --- a/panopto_client/__init__.py +++ b/panopto_client/__init__.py @@ -135,6 +135,9 @@ def _instance(self, namespace): return self._api.factory.create(namespace) def _request(self, methodName, params={}): + if 'auth' not in params: + params['auth'] = self.authentication_info() + try: return self._data(methodName, params) except WebFault as err: diff --git a/panopto_client/access.py b/panopto_client/access.py index 09ce2e4..a8f49bb 100644 --- a/panopto_client/access.py +++ b/panopto_client/access.py @@ -21,13 +21,11 @@ def access_role(self, role): def getFolderAccessDetails(self, folder_id): return self._request('GetFolderAccessDetails', { - 'auth': self.authentication_info(), 'folderId': folder_id, }) def grantUsersAccessToFolder(self, folder_id, user_ids, role): return self._request('GrantUsersAccessToFolder', { - 'auth': self.authentication_info(), 'folderId': folder_id, 'userIds': self.guid_list(ns='ns2:ArrayOfguid', guids=user_ids), 'role': self.access_role(role), @@ -35,7 +33,6 @@ def grantUsersAccessToFolder(self, folder_id, user_ids, role): def revokeUsersAccessFromFolder(self, folder_id, user_ids, role): return self._request('RevokeUsersAccessFromFolder', { - 'auth': self.authentication_info(), 'folderId': folder_id, 'userIds': self.guid_list(ns='ns2:ArrayOfguid', guids=user_ids), 'role': self.access_role(role), @@ -43,13 +40,11 @@ def revokeUsersAccessFromFolder(self, folder_id, user_ids, role): def getSessionAccessDetails(self, session_id): return self._request('GetSessionAccessDetails', { - 'auth': self.authentication_info(), 'sessionId': session_id }) def updateSessionIsPublic(self, session_id, is_public): return self._request('UpdateSessionIsPublic', { - 'auth': self.authentication_info(), 'sessionId': session_id, 'isPublic': is_public }) diff --git a/panopto_client/remote_recorder.py b/panopto_client/remote_recorder.py index 2ad6f4a..13d315e 100644 --- a/panopto_client/remote_recorder.py +++ b/panopto_client/remote_recorder.py @@ -22,21 +22,18 @@ def recorder_settings(self, recorder_id): def getRemoteRecordersById(self, remote_recorder_id): return self._request('GetRemoteRecordersById', { - 'auth': self.authentication_info(), 'remoteRecorderIds': self.guid_list( ns='ns4:ArrayOfguid', guids=[remote_recorder_id]), }) def getRemoteRecordersByExternalId(self, external_id): return self._request('GetRemoteRecordersByExternalId', { - 'auth': self.authentication_info(), 'externalIds': self.parameter_list(params=[external_id]), }) def scheduleRecording(self, name, folder_id, is_broadcast, start_time, end_time, recorder_id): return self._request('ScheduleRecording', { - 'auth': self.authentication_info(), 'name': name, 'folderId': folder_id, 'isBroadcast': is_broadcast, @@ -53,7 +50,6 @@ def listRecorders(self, sort_by='Name'): self._set_page_number(page) response = self._request('ListRecorders', { - 'auth': self.authentication_info(), 'pagination': self.pagination(), 'sortBy': sort_by }) @@ -69,7 +65,6 @@ def listRecorders(self, sort_by='Name'): def updateRemoteRecorderExternalId(self, remote_recorder_id, external_id): return self._request('UpdateRemoteRecorderExternalId', { - 'auth': self.authentication_info(), 'externalId': external_id, 'remoteRecorderId': remote_recorder_id }) @@ -78,7 +73,6 @@ def updateRemoteRecorderExternalId(self, remote_recorder_id, external_id): # xs:dateTime start, xs:dateTime end) def updateRecordingTime(self, session_id, start, end): return self._request('UpdateRecordingTime', { - 'auth': self.authentication_info(), 'sessionId': session_id, 'start': start, 'end': end diff --git a/panopto_client/session.py b/panopto_client/session.py index dc32dc5..9278f87 100644 --- a/panopto_client/session.py +++ b/panopto_client/session.py @@ -9,7 +9,6 @@ class SessionManagement(PanoptoAPI): - auth_ns = 'ns1:AuthenticationInfo' param_ns = 'ns6:ArrayOfstring' guid_ns = 'ns6:ArrayOfguid' @@ -20,6 +19,16 @@ def __init__(self): def getFoldersList(self, search_query='', sort_by='Name', sort_increasing='true'): + return self._folder_search('GetFoldersList', search_query, + sort_by, sort_increasing) + + def getFoldersWIthExternalContextList(self, search_query='', sort_by='Name', + sort_increasing='true'): + return self._folder_search('GetFoldersWithExternalContextList', + search_query, sort_by, sort_increasing) + + def _folder_search(self, method, search_query='', + sort_by='Name', sort_increasing='true'): request = self._instance('ns1:ListFoldersRequest') request.ParentFolderId = None request.PublicOnly = 'false' @@ -35,8 +44,7 @@ def getFoldersList(self, search_query='', sort_by='Name', request.Pagination = self.pagination(ns='ns1:Pagination') - response = self._request('GetFoldersList', { - 'auth': self.authentication_info(ns=self.auth_ns), + response = self._request(method, { 'request': request, 'searchQuery': search_query }) @@ -56,7 +64,6 @@ def getFoldersList(self, search_query='', sort_by='Name', def getAllFoldersByExternalId(self, folder_external_ids, provider_names=[]): return self._request('GetAllFoldersByExternalId', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderExternalIds': self.parameter_list( ns=self.param_ns, params=folder_external_ids), 'providerNames': self.parameter_list( @@ -65,14 +72,12 @@ def getAllFoldersByExternalId(self, folder_external_ids, def getFoldersByExternalId(self, folder_external_ids): return self._request('GetFoldersByExternalId', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderExternalIds': self.parameter_list( ns=self.param_ns, params=folder_external_ids), }) def addFolder(self, folder_name): return self._request('AddFolder', { - 'auth': self.authentication_info(ns=self.auth_ns), 'name': folder_name, 'parentFolder': None, 'isPublic': 'false' @@ -80,14 +85,12 @@ def addFolder(self, folder_name): def updateFolderName(self, folder_id, name): return self._request('UpdateFolderName', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'name': name }) def updateFolderExternalId(self, folder_id, external_id): return self._request('UpdateFolderExternalId', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'externalId': external_id }) @@ -95,7 +98,6 @@ def updateFolderExternalId(self, folder_id, external_id): def updateFolderExternalIdWithProvider( self, folder_id, external_id, site_membership_provider_name): return self._request('UpdateFolderExternalIdWithProvider', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'externalId': external_id, 'SiteMembershipProviderName': site_membership_provider_name @@ -103,54 +105,52 @@ def updateFolderExternalIdWithProvider( def updateFolderDescription(self, folder_id, description): return self._request('UpdateFolderDescription', { - 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'description': description }) + def provisionExternalCourse(self, course_name, course_id): + return self._request('ProvisionExternalCourse', { + 'name': course_name, + 'externalId': course_id + }) + def getSessionsById(self, session_ids): return self._request('GetSessionsById', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), }) def getSessionsByExternalId(self, session_external_ids): return self._request('GetSessionsByExternalId', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionExternalIds': self.parameter_list( ns=self.param_ns, params=session_external_ids), }) def updateSessionExternalId(self, session_id, external_id): return self._request('UpdateSessionExternalId', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionId': session_id, 'externalId': external_id }) def updateSessionOwner(self, session_id, new_owner_user_key): return self._request('UpdateSessionOwner', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=[session_id]), 'newOwnerUserKey': new_owner_user_key }) def updateSessionIsBroadcast(self, session_id, is_broadcast): return self._request('UpdateSessionIsBroadcast', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionId': session_id, 'isBroadcast': is_broadcast }) def moveSessions(self, session_ids, folder_id): return self._request('MoveSessions', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), 'folderId': folder_id }) def deleteSessions(self, session_ids): return self._request('DeleteSessions', { - 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), }) diff --git a/panopto_client/tests/test_access.py b/panopto_client/tests/test_access.py index 5b380e2..acd9e6d 100644 --- a/panopto_client/tests/test_access.py +++ b/panopto_client/tests/test_access.py @@ -20,44 +20,40 @@ def test_init(self, mock_request, mock_instance): def test_getFolderAccessDetails(self, mock_request, mock_instance): client = AccessManagement() result = client.getFolderAccessDetails('test-folder-id') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('GetFolderAccessDetails', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id'}) + 'folderId': 'test-folder-id'}) def test_grantUsersAccessToFolder(self, mock_request, mock_instance): client = AccessManagement() result = client.grantUsersAccessToFolder( 'test-folder-id', ['user-id-1'], 'test-role') self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AccessRole', 'ns0:AuthenticationInfo', 'ns2:ArrayOfguid']) + 'ns0:AccessRole', 'ns2:ArrayOfguid']) mock_request.assert_called_with('GrantUsersAccessToFolder', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', - 'userIds': mock.sentinel.instance, 'role': 'test-role'}) + 'folderId': 'test-folder-id', 'userIds': mock.sentinel.instance, + 'role': 'test-role'}) def test_revokeUsersAccessFromFolder(self, mock_request, mock_instance): client = AccessManagement() result = client.revokeUsersAccessFromFolder( 'test-folder-id', ['user-id-1'], 'test-role') self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AccessRole', 'ns0:AuthenticationInfo', 'ns2:ArrayOfguid']) + 'ns0:AccessRole', 'ns2:ArrayOfguid']) mock_request.assert_called_with('RevokeUsersAccessFromFolder', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', - 'userIds': mock.sentinel.instance, 'role': 'test-role'}) + 'folderId': 'test-folder-id', 'userIds': mock.sentinel.instance, + 'role': 'test-role'}) def test_getSessionAccessDetails(self, mock_request, mock_instance): client = AccessManagement() result = client.getSessionAccessDetails('test-session-id') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('GetSessionAccessDetails', { - 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id'}) + 'sessionId': 'test-session-id'}) def test_updateSessionIsPublic(self, mock_request, mock_instance): client = AccessManagement() result = client.updateSessionIsPublic('test-session-id', True) - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateSessionIsPublic', { - 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', - 'isPublic': True}) + 'sessionId': 'test-session-id', 'isPublic': True}) diff --git a/panopto_client/tests/test_remote_recorder.py b/panopto_client/tests/test_remote_recorder.py index 28aeb91..bc6f11c 100644 --- a/panopto_client/tests/test_remote_recorder.py +++ b/panopto_client/tests/test_remote_recorder.py @@ -24,18 +24,16 @@ def test_getRemoteRecordersById(self, mock_request, mock_instance): client = RemoteRecorderManagement() result = client.getRemoteRecordersById('test-recorder-id') self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns4:ArrayOfguid']) + 'ns4:ArrayOfguid']) mock_request.assert_called_with('GetRemoteRecordersById', { - 'auth': mock.sentinel.instance, 'remoteRecorderIds': mock.sentinel.instance}) def test_getRemoteRecordersByExternalId(self, mock_request, mock_instance): client = RemoteRecorderManagement() result = client.getRemoteRecordersByExternalId('test-external-id') self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns4:ArrayOfstring']) + 'ns4:ArrayOfstring']) mock_request.assert_called_with('GetRemoteRecordersByExternalId', { - 'auth': mock.sentinel.instance, 'externalIds': mock.sentinel.instance}) def test_scheduleRecording(self, mock_request, mock_instance): @@ -47,11 +45,10 @@ def test_scheduleRecording(self, mock_request, mock_instance): end_time=datetime(2013, 3, 15, 10, 0, 0), recorder_id='test-recorder-id') self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:ArrayOfRecorderSettings', 'ns0:AuthenticationInfo', - 'ns0:RecorderSettings']) + 'ns0:ArrayOfRecorderSettings', 'ns0:RecorderSettings']) mock_request.assert_called_with('ScheduleRecording', { - 'auth': mock.sentinel.instance, 'name': 'test-name', - 'folderId': 'test-folder-id', 'isBroadcast': False, + 'name': 'test-name', 'folderId': 'test-folder-id', + 'isBroadcast': False, 'start': datetime(2013, 3, 15, 9, 0), 'end': datetime(2013, 3, 15, 10, 0), 'recorderSettings': mock.sentinel.instance}) @@ -63,19 +60,17 @@ def test_listRecorders(self, mock_request, mock_instance): except TypeError: pass self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns0:Pagination']) + 'ns0:Pagination']) mock_request.assert_called_with('ListRecorders', { - 'auth': mock.sentinel.instance, 'pagination': mock.sentinel.instance, 'sortBy': 'Name'}) def test_updateRemoteRecorderExternalId(self, mock_request, mock_instance): client = RemoteRecorderManagement() result = client.updateRemoteRecorderExternalId( 'test-recorder-id', 'test-external-id') - self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateRemoteRecorderExternalId', { - 'auth': mock.sentinel.instance, 'externalId': 'test-external-id', + 'externalId': 'test-external-id', 'remoteRecorderId': 'test-recorder-id'}) def test_updateRecordingTime(self, mock_request, mock_instance): @@ -83,9 +78,8 @@ def test_updateRecordingTime(self, mock_request, mock_instance): result = client.updateRecordingTime( 'test-session-id', start=datetime(2013, 3, 15, 9, 0, 0), end=datetime(2013, 3, 15, 10, 0, 0)) - self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateRecordingTime', { - 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', + 'sessionId': 'test-session-id', 'start': datetime(2013, 3, 15, 9, 0), 'end': datetime(2013, 3, 15, 10, 0)}) diff --git a/panopto_client/tests/test_session.py b/panopto_client/tests/test_session.py index 891ef27..6451c0f 100644 --- a/panopto_client/tests/test_session.py +++ b/panopto_client/tests/test_session.py @@ -26,12 +26,28 @@ def test_getFoldersList(self, mock_request, mock_instance): pass self.assertEqual( instance_args(mock_instance.call_args_list), [ - 'ns1:AuthenticationInfo', 'ns1:FolderSortField', 'ns1:ListFoldersRequest', 'ns1:Pagination']) mock_request.assert_called_with('GetFoldersList', { - 'auth': mock.sentinel.instance, + 'request': mock.sentinel.instance, + 'searchQuery': 'test query'}) + + def test_getFoldersWIthExternalContextList( + self, mock_request, mock_instance): + mock_request.TotalNumberResults = 0 + client = SessionManagement() + try: + result = client.getFoldersWIthExternalContextList( + search_query='test query') + except TypeError: + pass + self.assertEqual( + instance_args(mock_instance.call_args_list), [ + 'ns1:FolderSortField', + 'ns1:ListFoldersRequest', + 'ns1:Pagination']) + mock_request.assert_called_with('GetFoldersWithExternalContextList', { 'request': mock.sentinel.instance, 'searchQuery': 'test query'}) @@ -40,11 +56,9 @@ def test_getAllFoldersByExternalId(self, mock_request, mock_instance): result = client.getAllFoldersByExternalId(['test-external-id']) self.assertEqual( instance_args(mock_instance.call_args_list), [ - 'ns1:AuthenticationInfo', 'ns6:ArrayOfstring', 'ns6:ArrayOfstring']) mock_request.assert_called_with('GetAllFoldersByExternalId', { - 'auth': mock.sentinel.instance, 'folderExternalIds': mock.sentinel.instance, 'providerNames': mock.sentinel.instance}) @@ -52,48 +66,41 @@ def test_getFoldersByExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.getFoldersByExternalId(['test-external-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfstring']) + ['ns6:ArrayOfstring']) mock_request.assert_called_with('GetFoldersByExternalId', { - 'auth': mock.sentinel.instance, 'folderExternalIds': mock.sentinel.instance}) def test_addFolder(self, mock_request, mock_instance): client = SessionManagement() result = client.addFolder('test-folder-name') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('AddFolder', { - 'auth': mock.sentinel.instance, 'name': 'test-folder-name', + 'name': 'test-folder-name', 'parentFolder': None, 'isPublic': 'false'}) def test_updateFolderName(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderName('test-folder-id', 'test-folder-name') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateFolderName', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', - 'name': 'test-folder-name'}) + 'folderId': 'test-folder-id', 'name': 'test-folder-name'}) def test_updateFolderExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderExternalId( 'test-folder-id', 'test-external-id') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateFolderExternalId', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', - 'externalId': 'test-external-id'}) + 'folderId': 'test-folder-id', 'externalId': 'test-external-id'}) def test_updateFolderExternalIdWithProvider(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderExternalIdWithProvider( 'test-folder-id', 'test-external-id', 'test-provider-name') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateFolderExternalIdWithProvider', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', + 'folderId': 'test-folder-id', 'externalId': 'test-external-id', 'SiteMembershipProviderName': 'test-provider-name'}) @@ -101,66 +108,64 @@ def test_updateFolderDescription(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderDescription( 'test-folder-id', 'description') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateFolderDescription', { - 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', - 'description': 'description'}) + 'folderId': 'test-folder-id', 'description': 'description'}) + + def test_provisionExternalCourse(self, mock_request, mock_instance): + client = SessionManagement() + result = client.provisionExternalCourse( + 'test course name', 'test-course-id') + self.assertEqual(instance_args(mock_instance.call_args_list), []) + mock_request.assert_called_with('ProvisionExternalCourse', { + 'name': 'test course name', 'externalId': 'test-course-id'}) def test_getSessionsById(self, mock_request, mock_instance): client = SessionManagement() result = client.getSessionsById(['test-session-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) + ['ns6:ArrayOfguid']) mock_request.assert_called_with('GetSessionsById', { - 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance}) def test_getSessionsByExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.getSessionsByExternalId(['test-external-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfstring']) + ['ns6:ArrayOfstring']) mock_request.assert_called_with('GetSessionsByExternalId', { - 'auth': mock.sentinel.instance, 'sessionExternalIds': mock.sentinel.instance}) def test_updateSessionExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionExternalId( 'test-session-id', 'test-external-id') - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateSessionExternalId', { - 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', - 'externalId': 'test-external-id'}) + 'sessionId': 'test-session-id', 'externalId': 'test-external-id'}) def test_updateSessionOwner(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionOwner('test-session-id', 'owner-key') self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) + ['ns6:ArrayOfguid']) mock_request.assert_called_with('UpdateSessionOwner', { - 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance, 'newOwnerUserKey': 'owner-key'}) def test_updateSessionIsBroadcast(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionIsBroadcast('test-session-id', False) - self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('UpdateSessionIsBroadcast', { - 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', - 'isBroadcast': False}) + 'sessionId': 'test-session-id', 'isBroadcast': False}) def test_moveSessions(self, mock_request, mock_instance): client = SessionManagement() result = client.moveSessions(['test-session-id'], 'test-folder-id') self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) + ['ns6:ArrayOfguid']) mock_request.assert_called_with('MoveSessions', { - 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance, 'folderId': 'test-folder-id'}) @@ -168,7 +173,6 @@ def test_deleteSessions(self, mock_request, mock_instance): client = SessionManagement() result = client.deleteSessions(['test-session-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) + ['ns6:ArrayOfguid']) mock_request.assert_called_with('DeleteSessions', { - 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance}) diff --git a/panopto_client/tests/test_usage.py b/panopto_client/tests/test_usage.py index e64ea24..06a6402 100644 --- a/panopto_client/tests/test_usage.py +++ b/panopto_client/tests/test_usage.py @@ -24,7 +24,6 @@ def test_getUserDetailedUsage(self, mock_request, mock_instance): except TypeError: pass self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns0:Pagination']) + 'ns0:Pagination']) mock_request.assert_called_with('GetUserDetailedUsage', { - 'auth': mock.sentinel.instance, 'userId': 'test-user-id', - 'pagination': mock.sentinel.instance}) + 'userId': 'test-user-id', 'pagination': mock.sentinel.instance}) diff --git a/panopto_client/tests/test_user.py b/panopto_client/tests/test_user.py index fb6d359..b947625 100644 --- a/panopto_client/tests/test_user.py +++ b/panopto_client/tests/test_user.py @@ -24,24 +24,21 @@ def test_listUsers(self, mock_request, mock_instance): except TypeError: pass self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns0:ListUsersRequest', - 'ns0:Pagination', 'ns0:UserSortField']) + 'ns0:ListUsersRequest', 'ns0:Pagination', 'ns0:UserSortField']) mock_request.assert_called_with('ListUsers', { - 'auth': mock.sentinel.instance, 'parameters': mock.sentinel.instance, 'searchQuery': 'test query'}) def test_getUserByKey(self, mock_request, mock_instance): client = UserManagement() result = client.getUserByKey('test-user-key') - self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo']) + self.assertEqual(instance_args(mock_instance.call_args_list), []) mock_request.assert_called_with('GetUserByKey', { - 'auth': mock.sentinel.instance, 'userKey': 'test-user-key'}) + 'userKey': 'test-user-key'}) def test_getUsers(self, mock_request, mock_instance): client = UserManagement() result = client.getUsers(['test-user-id']) self.assertEqual(instance_args(mock_instance.call_args_list), [ - 'ns0:AuthenticationInfo', 'ns2:ArrayOfguid']) + 'ns2:ArrayOfguid']) mock_request.assert_called_with('GetUsers', { - 'auth': mock.sentinel.instance, 'userIds': mock.sentinel.instance}) + 'userIds': mock.sentinel.instance}) diff --git a/panopto_client/usage.py b/panopto_client/usage.py index 6614fd7..35b79ed 100644 --- a/panopto_client/usage.py +++ b/panopto_client/usage.py @@ -22,7 +22,6 @@ def getUserDetailedUsage(self, user_id): self._set_page_number(page) response = self._request('GetUserDetailedUsage', { - 'auth': self.authentication_info(), 'userId': user_id, 'pagination': self.pagination() }) diff --git a/panopto_client/user.py b/panopto_client/user.py index 744b766..80f953d 100644 --- a/panopto_client/user.py +++ b/panopto_client/user.py @@ -30,7 +30,6 @@ def listUsers(self, search_query='', sort_by='UserKey', parameters.Pagination = self.pagination() response = self._request('ListUsers', { - 'auth': self.authentication_info(), 'parameters': parameters, 'searchQuery': search_query }) @@ -46,12 +45,10 @@ def listUsers(self, search_query='', sort_by='UserKey', def getUserByKey(self, user_key): return self._request('GetUserByKey', { - 'auth': self.authentication_info(), 'userKey': user_key }) def getUsers(self, user_ids): return self._request('GetUsers', { - 'auth': self.authentication_info(), 'userIds': self.guid_list(guids=user_ids) }) From 10da5ae53508dc3af82e4b204a41836eed40b02c Mon Sep 17 00:00:00 2001 From: mike seibel Date: Sun, 21 Apr 2024 11:50:03 -0700 Subject: [PATCH 2/7] ns1 auth --- panopto_client/session.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/panopto_client/session.py b/panopto_client/session.py index 9278f87..7b05af8 100644 --- a/panopto_client/session.py +++ b/panopto_client/session.py @@ -9,6 +9,7 @@ class SessionManagement(PanoptoAPI): + auth_ns = 'ns1:AuthenticationInfo' param_ns = 'ns6:ArrayOfstring' guid_ns = 'ns6:ArrayOfguid' @@ -45,6 +46,7 @@ def _folder_search(self, method, search_query='', request.Pagination = self.pagination(ns='ns1:Pagination') response = self._request(method, { + 'auth': self.authentication_info(ns=self.auth_ns), 'request': request, 'searchQuery': search_query }) @@ -64,6 +66,7 @@ def _folder_search(self, method, search_query='', def getAllFoldersByExternalId(self, folder_external_ids, provider_names=[]): return self._request('GetAllFoldersByExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderExternalIds': self.parameter_list( ns=self.param_ns, params=folder_external_ids), 'providerNames': self.parameter_list( @@ -72,12 +75,14 @@ def getAllFoldersByExternalId(self, folder_external_ids, def getFoldersByExternalId(self, folder_external_ids): return self._request('GetFoldersByExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderExternalIds': self.parameter_list( ns=self.param_ns, params=folder_external_ids), }) def addFolder(self, folder_name): return self._request('AddFolder', { + 'auth': self.authentication_info(ns=self.auth_ns), 'name': folder_name, 'parentFolder': None, 'isPublic': 'false' @@ -85,12 +90,14 @@ def addFolder(self, folder_name): def updateFolderName(self, folder_id, name): return self._request('UpdateFolderName', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'name': name }) def updateFolderExternalId(self, folder_id, external_id): return self._request('UpdateFolderExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'externalId': external_id }) @@ -98,6 +105,7 @@ def updateFolderExternalId(self, folder_id, external_id): def updateFolderExternalIdWithProvider( self, folder_id, external_id, site_membership_provider_name): return self._request('UpdateFolderExternalIdWithProvider', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'externalId': external_id, 'SiteMembershipProviderName': site_membership_provider_name @@ -105,52 +113,61 @@ def updateFolderExternalIdWithProvider( def updateFolderDescription(self, folder_id, description): return self._request('UpdateFolderDescription', { + 'auth': self.authentication_info(ns=self.auth_ns), 'folderId': folder_id, 'description': description }) def provisionExternalCourse(self, course_name, course_id): return self._request('ProvisionExternalCourse', { + 'auth': self.authentication_info(ns=self.auth_ns), 'name': course_name, 'externalId': course_id }) def getSessionsById(self, session_ids): return self._request('GetSessionsById', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), }) def getSessionsByExternalId(self, session_external_ids): return self._request('GetSessionsByExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionExternalIds': self.parameter_list( ns=self.param_ns, params=session_external_ids), }) def updateSessionExternalId(self, session_id, external_id): return self._request('UpdateSessionExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionId': session_id, 'externalId': external_id }) def updateSessionOwner(self, session_id, new_owner_user_key): return self._request('UpdateSessionOwner', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=[session_id]), 'newOwnerUserKey': new_owner_user_key }) def updateSessionIsBroadcast(self, session_id, is_broadcast): return self._request('UpdateSessionIsBroadcast', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionId': session_id, 'isBroadcast': is_broadcast }) def moveSessions(self, session_ids, folder_id): return self._request('MoveSessions', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), 'folderId': folder_id }) def deleteSessions(self, session_ids): return self._request('DeleteSessions', { + 'auth': self.authentication_info(ns=self.auth_ns), 'sessionIds': self.guid_list(ns=self.guid_ns, guids=session_ids), }) From b2e7a2fb3a567b610770f602f5105806d7fcf752 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Sun, 21 Apr 2024 11:56:49 -0700 Subject: [PATCH 3/7] ns1 auth session tests --- panopto_client/tests/test_session.py | 95 ++++++++++++++++------------ 1 file changed, 55 insertions(+), 40 deletions(-) diff --git a/panopto_client/tests/test_session.py b/panopto_client/tests/test_session.py index 6451c0f..18127b3 100644 --- a/panopto_client/tests/test_session.py +++ b/panopto_client/tests/test_session.py @@ -26,13 +26,28 @@ def test_getFoldersList(self, mock_request, mock_instance): pass self.assertEqual( instance_args(mock_instance.call_args_list), [ + 'ns1:AuthenticationInfo', 'ns1:FolderSortField', 'ns1:ListFoldersRequest', 'ns1:Pagination']) mock_request.assert_called_with('GetFoldersList', { + 'auth': mock.sentinel.instance, 'request': mock.sentinel.instance, 'searchQuery': 'test query'}) + def test_getAllFoldersByExternalId(self, mock_request, mock_instance): + client = SessionManagement() + result = client.getAllFoldersByExternalId(['test-external-id']) + self.assertEqual( + instance_args(mock_instance.call_args_list), [ + 'ns1:AuthenticationInfo', + 'ns6:ArrayOfstring', + 'ns6:ArrayOfstring']) + mock_request.assert_called_with('GetAllFoldersByExternalId', { + 'auth': mock.sentinel.instance, + 'folderExternalIds': mock.sentinel.instance, + 'providerNames': mock.sentinel.instance}) + def test_getFoldersWIthExternalContextList( self, mock_request, mock_instance): mock_request.TotalNumberResults = 0 @@ -44,63 +59,60 @@ def test_getFoldersWIthExternalContextList( pass self.assertEqual( instance_args(mock_instance.call_args_list), [ + 'ns1:AuthenticationInfo', 'ns1:FolderSortField', 'ns1:ListFoldersRequest', 'ns1:Pagination']) mock_request.assert_called_with('GetFoldersWithExternalContextList', { - 'request': mock.sentinel.instance, + 'auth': mock.sentinel.instance, 'request': mock.sentinel.instance, 'searchQuery': 'test query'}) - def test_getAllFoldersByExternalId(self, mock_request, mock_instance): - client = SessionManagement() - result = client.getAllFoldersByExternalId(['test-external-id']) - self.assertEqual( - instance_args(mock_instance.call_args_list), [ - 'ns6:ArrayOfstring', - 'ns6:ArrayOfstring']) - mock_request.assert_called_with('GetAllFoldersByExternalId', { - 'folderExternalIds': mock.sentinel.instance, - 'providerNames': mock.sentinel.instance}) - def test_getFoldersByExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.getFoldersByExternalId(['test-external-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfstring']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfstring']) mock_request.assert_called_with('GetFoldersByExternalId', { + 'auth': mock.sentinel.instance, 'folderExternalIds': mock.sentinel.instance}) def test_addFolder(self, mock_request, mock_instance): client = SessionManagement() result = client.addFolder('test-folder-name') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('AddFolder', { - 'name': 'test-folder-name', + 'auth': mock.sentinel.instance, 'name': 'test-folder-name', 'parentFolder': None, 'isPublic': 'false'}) def test_updateFolderName(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderName('test-folder-id', 'test-folder-name') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateFolderName', { - 'folderId': 'test-folder-id', 'name': 'test-folder-name'}) + 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', + 'name': 'test-folder-name'}) def test_updateFolderExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderExternalId( 'test-folder-id', 'test-external-id') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateFolderExternalId', { - 'folderId': 'test-folder-id', 'externalId': 'test-external-id'}) + 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', + 'externalId': 'test-external-id'}) def test_updateFolderExternalIdWithProvider(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderExternalIdWithProvider( 'test-folder-id', 'test-external-id', 'test-provider-name') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateFolderExternalIdWithProvider', { - 'folderId': 'test-folder-id', + 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', 'externalId': 'test-external-id', 'SiteMembershipProviderName': 'test-provider-name'}) @@ -108,64 +120,66 @@ def test_updateFolderDescription(self, mock_request, mock_instance): client = SessionManagement() result = client.updateFolderDescription( 'test-folder-id', 'description') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateFolderDescription', { - 'folderId': 'test-folder-id', 'description': 'description'}) - - def test_provisionExternalCourse(self, mock_request, mock_instance): - client = SessionManagement() - result = client.provisionExternalCourse( - 'test course name', 'test-course-id') - self.assertEqual(instance_args(mock_instance.call_args_list), []) - mock_request.assert_called_with('ProvisionExternalCourse', { - 'name': 'test course name', 'externalId': 'test-course-id'}) + 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', + 'description': 'description'}) def test_getSessionsById(self, mock_request, mock_instance): client = SessionManagement() result = client.getSessionsById(['test-session-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfguid']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) mock_request.assert_called_with('GetSessionsById', { + 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance}) def test_getSessionsByExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.getSessionsByExternalId(['test-external-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfstring']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfstring']) mock_request.assert_called_with('GetSessionsByExternalId', { + 'auth': mock.sentinel.instance, 'sessionExternalIds': mock.sentinel.instance}) def test_updateSessionExternalId(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionExternalId( 'test-session-id', 'test-external-id') - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateSessionExternalId', { - 'sessionId': 'test-session-id', 'externalId': 'test-external-id'}) + 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', + 'externalId': 'test-external-id'}) def test_updateSessionOwner(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionOwner('test-session-id', 'owner-key') self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfguid']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) mock_request.assert_called_with('UpdateSessionOwner', { + 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance, 'newOwnerUserKey': 'owner-key'}) def test_updateSessionIsBroadcast(self, mock_request, mock_instance): client = SessionManagement() result = client.updateSessionIsBroadcast('test-session-id', False) - self.assertEqual(instance_args(mock_instance.call_args_list), []) + self.assertEqual(instance_args(mock_instance.call_args_list), + ['ns1:AuthenticationInfo']) mock_request.assert_called_with('UpdateSessionIsBroadcast', { - 'sessionId': 'test-session-id', 'isBroadcast': False}) + 'auth': mock.sentinel.instance, 'sessionId': 'test-session-id', + 'isBroadcast': False}) def test_moveSessions(self, mock_request, mock_instance): client = SessionManagement() result = client.moveSessions(['test-session-id'], 'test-folder-id') self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfguid']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) mock_request.assert_called_with('MoveSessions', { + 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance, 'folderId': 'test-folder-id'}) @@ -173,6 +187,7 @@ def test_deleteSessions(self, mock_request, mock_instance): client = SessionManagement() result = client.deleteSessions(['test-session-id']) self.assertEqual(instance_args(mock_instance.call_args_list), - ['ns6:ArrayOfguid']) + ['ns1:AuthenticationInfo', 'ns6:ArrayOfguid']) mock_request.assert_called_with('DeleteSessions', { + 'auth': mock.sentinel.instance, 'sessionIds': mock.sentinel.instance}) From ee0a9441a5db0f7c073512c14dc480f80c99cc15 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Sun, 21 Apr 2024 12:04:43 -0700 Subject: [PATCH 4/7] provsion external course test --- panopto_client/tests/test_session.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/panopto_client/tests/test_session.py b/panopto_client/tests/test_session.py index 18127b3..8b703b3 100644 --- a/panopto_client/tests/test_session.py +++ b/panopto_client/tests/test_session.py @@ -126,6 +126,16 @@ def test_updateFolderDescription(self, mock_request, mock_instance): 'auth': mock.sentinel.instance, 'folderId': 'test-folder-id', 'description': 'description'}) + def test_provisionExternalCourse(self, mock_request, mock_instance): + client = SessionManagement() + result = client.provisionExternalCourse( + 'test course name', 'test-course-id') + self.assertEqual(instance_args(mock_instance.call_args_list), [ + 'ns1:AuthenticationInfo']) + mock_request.assert_called_with('ProvisionExternalCourse', { + 'auth': mock.sentinel.instance, 'name': 'test course name', + 'externalId': 'test-course-id'}) + def test_getSessionsById(self, mock_request, mock_instance): client = SessionManagement() result = client.getSessionsById(['test-session-id']) From ecbb00bafd36dffab3cd8af12e4fa72439032ff3 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Sun, 21 Apr 2024 12:21:30 -0700 Subject: [PATCH 5/7] get all folders with external context by external id --- panopto_client/session.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/panopto_client/session.py b/panopto_client/session.py index 7b05af8..6df5728 100644 --- a/panopto_client/session.py +++ b/panopto_client/session.py @@ -63,6 +63,16 @@ def _folder_search(self, method, search_query='', return result + def getAllFoldersWithExternalContextByExternalId( + self, folder_external_ids, provider_names=[]): + return self._request('GetAllFoldersWithExternalContextByExternalId', { + 'auth': self.authentication_info(ns=self.auth_ns), + 'folderExternalIds': self.parameter_list( + ns=self.param_ns, params=folder_external_ids), + 'providerNames': self.parameter_list( + ns=self.param_ns, params=provider_names), + }) + def getAllFoldersByExternalId(self, folder_external_ids, provider_names=[]): return self._request('GetAllFoldersByExternalId', { From 69fd84f6c084ad2d2aab4b4ca64ff8d29fa27283 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Mon, 22 Apr 2024 08:30:59 -0700 Subject: [PATCH 6/7] stray cap --- panopto_client/session.py | 2 +- panopto_client/tests/test_session.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/panopto_client/session.py b/panopto_client/session.py index 6df5728..af3455d 100644 --- a/panopto_client/session.py +++ b/panopto_client/session.py @@ -23,7 +23,7 @@ def getFoldersList(self, search_query='', sort_by='Name', return self._folder_search('GetFoldersList', search_query, sort_by, sort_increasing) - def getFoldersWIthExternalContextList(self, search_query='', sort_by='Name', + def getFoldersWithExternalContextList(self, search_query='', sort_by='Name', sort_increasing='true'): return self._folder_search('GetFoldersWithExternalContextList', search_query, sort_by, sort_increasing) diff --git a/panopto_client/tests/test_session.py b/panopto_client/tests/test_session.py index 8b703b3..259a5a4 100644 --- a/panopto_client/tests/test_session.py +++ b/panopto_client/tests/test_session.py @@ -48,12 +48,12 @@ def test_getAllFoldersByExternalId(self, mock_request, mock_instance): 'folderExternalIds': mock.sentinel.instance, 'providerNames': mock.sentinel.instance}) - def test_getFoldersWIthExternalContextList( + def test_getFoldersWithExternalContextList( self, mock_request, mock_instance): mock_request.TotalNumberResults = 0 client = SessionManagement() try: - result = client.getFoldersWIthExternalContextList( + result = client.getFoldersWithExternalContextList( search_query='test query') except TypeError: pass From bb6d3ca5189760b4e37b0affa73ddb7e2597ca44 Mon Sep 17 00:00:00 2001 From: mike seibel Date: Wed, 12 Jun 2024 15:27:21 -0700 Subject: [PATCH 7/7] pycodestyle --- panopto_client/session.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/panopto_client/session.py b/panopto_client/session.py index af3455d..fd9f94d 100644 --- a/panopto_client/session.py +++ b/panopto_client/session.py @@ -18,18 +18,19 @@ def __init__(self): wsdl='SessionManagement.svc?wsdl', port='BasicHttpBinding_ISessionManagement') - def getFoldersList(self, search_query='', sort_by='Name', - sort_increasing='true'): + def getFoldersList( + self, search_query='', sort_by='Name', sort_increasing='true'): return self._folder_search('GetFoldersList', search_query, sort_by, sort_increasing) - def getFoldersWithExternalContextList(self, search_query='', sort_by='Name', - sort_increasing='true'): + def getFoldersWithExternalContextList( + self, search_query='', sort_by='Name', sort_increasing='true'): return self._folder_search('GetFoldersWithExternalContextList', search_query, sort_by, sort_increasing) - def _folder_search(self, method, search_query='', - sort_by='Name', sort_increasing='true'): + def _folder_search( + self, method, search_query='', sort_by='Name', + sort_increasing='true'): request = self._instance('ns1:ListFoldersRequest') request.ParentFolderId = None request.PublicOnly = 'false'