UnicodeDecodeError using python api module python-seafile-api for file upoad

It’s a problem caused by the python-seafile-api module.
Perhaps someone has a fix. Thanks.
No problem with text files.

Seafile: seafile-pro-server-7.1.7
Python 3.7.3 on Debian 10

Code:

import seafileapi
scanner_seafile_path = ‘/Scanner_Eingang/Scanner2/’
client = seafileapi.connect(‘https://cloud001.org’, ‘account@exmple.com’, ‘secret’)
repo = client.repos.get_repo(‘e8dsdsabc-a6sds6-4dsds9ee-965a-7f4800dc877a’)
seafile_dir = repo.get_dir(scanner_seafile_path)
file = seafile_dir.upload_local_file(’/home/me/test.pdf’)

Error:
Traceback (most recent call last):
File “scan2seafile.py”, line 55, in
main(sys.argv[1:])
File “scan2seafile.py”, line 46, in main
file = seafile_dir.upload_local_file(scanner_ftp_path + newfile_name)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/seafileapi/files.py”, line 210, in upload_local_file
return self.upload(fp, name, replace)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/seafileapi/files.py”, line 197, in upload
self.client.post(upload_url, files=files)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/seafileapi/client.py”, line 49, in post
return self._send_request(‘POST’, *args, **kwargs)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/seafileapi/client.py”, line 83, in _send_request
resp = requests.request(method, url, *args, verify=self.verify_ssl, **kwargs)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/api.py”, line 61, in request
return session.request(method=method, url=url, **kwargs)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/sessions.py”, line 528, in request
prep = self.prepare_request(req)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/sessions.py”, line 466, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/models.py”, line 319, in prepare
self.prepare_body(data, files, json)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/models.py”, line 507, in prepare_body
(body, content_type) = self._encode_files(files, data)
File “/home/ftpuser/app/venv/lib/python3.7/site-packages/requests/models.py”, line 159, in _encode_files
fdata = fp.read()
File “/usr/lib/python3.7/codecs.py”, line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x9c in position 72: invalid start byte

I fixed it.

replaced in file lib/python3.6/site-packages/seafileapi/files.py
line 209
with open(filepath, ‘r’) as fp:
with
with open(filepath, ‘rb’) as fp: