From d10af70992a03825d060fa0ee5bc93a7ae993d4b Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Wed, 11 Nov 2020 21:34:53 -0800 Subject: [PATCH] Use requests.Session. --- src/mega/mega.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/mega/mega.py b/src/mega/mega.py index 73ebea5..64f8db7 100644 --- a/src/mega/mega.py +++ b/src/mega/mega.py @@ -37,6 +37,7 @@ class Mega: self.request_id = crypto.make_id(10) self._trash_folder_node_id = None self.shared_keys = {} + self.requests_session = requests.Session() if options is None: options = {} @@ -60,7 +61,7 @@ class Mega: data = [data] url = f'{self.schema}://g.api.{self.domain}/cs' - req = requests.post( + req = self.requests_session.post( url, params=req_params, data=json.dumps(data), @@ -750,7 +751,7 @@ class Mega: else: file_name = attribs['n'] - input_file = requests.get(file_url, stream=True).raw + input_file = self.requests_session.get(file_url, stream=True).raw if dest_path is None: dest_path = '' @@ -853,17 +854,20 @@ class Mega: # encrypt file and upload chunk = aes.encrypt(chunk) - output_file = requests.post(ul_url + "/" + - str(chunk_start), - data=chunk, - timeout=self.timeout) + output_file = self.requests_session.post( + ul_url + "/" + str(chunk_start), + data=chunk, + timeout=self.timeout + ) completion_file_handle = output_file.text logger.info('%s of %s uploaded', upload_progress, file_size) else: - output_file = requests.post(ul_url + "/0", - data='', - timeout=self.timeout) + output_file = self.requests_session.post( + ul_url + "/0", + data='', + timeout=self.timeout + ) completion_file_handle = output_file.text logger.info('Chunks uploaded')