Dropbox support needs to be updated for Dropbox SDK v7.1

Bug #1639664 reported by Daniel Lo Nigro
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Duplicity
Fix Released
Medium
Unassigned

Bug Description

The Python Dropbox SDK v7.1 has a breaking change that affects Duplicity:
> File upload endpoints no longer accept file-like objects. Only byte strings are allowed.
(see https://github.com/dropbox/dropbox-sdk-python/releases/tag/v7.1.0)

When trying to run Duplicity with Dropbox, if you have v7.1 or higher of the Dropbox SDK installed, the following error is thrown:

Error: Exception [expected request_binary as binary type, got <type 'file'>]:
Error: | Traceback (most recent call last):
Error: | File "/usr/lib/python2.7/dist-packages/duplicity/backends/dpbxbackend.py", line 76, in wrapper
Error: | return f(self, *args)
Error: | File "/usr/lib/python2.7/dist-packages/duplicity/backends/dpbxbackend.py", line 186, in _put
Error: | res_metadata = self.put_file_small(source_path, remote_path)
Error: | File "/usr/lib/python2.7/dist-packages/duplicity/backends/dpbxbackend.py", line 207, in put_file_small
Error: | mute=True)
Error: | File "/usr/local/lib/python2.7/dist-packages/dropbox/base.py", line 1225, in files_upload
Error: | f,
Error: | File "/usr/local/lib/python2.7/dist-packages/dropbox/dropbox.py", line 249, in request
Error: | timeout=timeout)
Error: | File "/usr/local/lib/python2.7/dist-packages/dropbox/dropbox.py", line 341, in request_json_string_with_retry
Error: | timeout=timeout)
Error: | File "/usr/local/lib/python2.7/dist-packages/dropbox/dropbox.py", line 385, in request_json_string
Error: | type(request_binary))

For anyone encountering this error, you can run pip install -I dropbox==6.9.0 to downgrade to a compatible version of the Dropbox SDK.

Tags: dropbox

Related branches

Changed in duplicity:
importance: Undecided → Medium
milestone: none → 0.7.16
status: New → In Progress
Changed in duplicity:
status: In Progress → Fix Committed
Changed in duplicity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.