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

Bug #1639664 reported by Daniel Lo Nigro on 2016-11-07
This bug affects 5 people
Affects Status Importance Assigned to Milestone

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.

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  Edit
Everyone can see this information.

Other bug subscribers