MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / communicate

Function communicate

keepercommander/api.py:849–871  ·  view source on GitHub ↗
(params, request, retry_on_throttle=True)

Source from the content-addressed store, hash-verified

847
848
849def communicate(params, request, retry_on_throttle=True):
850 # type: (KeeperParams, dict, Optional[bool]) -> dict
851
852 request['client_time'] = current_milli_time()
853 request['locale'] = LOCALE
854 request['device_id'] = 'Commander'
855 request['session_token'] = params.session_token
856 request['username'] = params.user.lower()
857 try:
858 response_json = run_command(params, request)
859 if response_json['result'] != 'success':
860 if retry_on_throttle and response_json.get('result_code') == 'throttled':
861 logging.debug('Throttled, retrying in 10 seconds')
862 time.sleep(10)
863 # Allow maximum 1 retry per call
864 return communicate(params, request, retry_on_throttle=False)
865 raise KeeperApiError(response_json['result_code'], response_json['message'])
866 TTK.update_time_of_last_activity()
867 return response_json
868 except KeeperApiError as kae:
869 if kae.result_code == 'session_token_expired':
870 params.session_token = None
871 raise kae
872
873
874def execute_batch(params, requests):

Callers 6

load_team_keysFunction · 0.85
load_available_teamsFunction · 0.85
execute_batchFunction · 0.85
update_recordFunction · 0.85
add_recordFunction · 0.85
delete_recordFunction · 0.85

Calls 6

current_milli_timeFunction · 0.85
run_commandFunction · 0.85
KeeperApiErrorClass · 0.85
getMethod · 0.80
debugMethod · 0.45

Tested by

no test coverage detected