I reported this bug in debian (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942593), and was told it had been reported here. I have subsequently tested the fix in 0.8.05 but the bug remains, although in a different function.
Here is the update I provided in the debian bug report:
The bug still exists in the new version, although in a slightly different form:
(during "duplicity full" command)
Backtrace of previous error: Traceback (innermost last):
File "/usr/lib/python3/dist-packages/duplicity/backend.py", line 371, in inner_retry
return fn(self, *args)
File "/usr/lib/python3/dist-packages/duplicity/backend.py", line 606, in _do_delete
self.backend._delete(filename)
File "/usr/lib/python3/dist-packages/duplicity/backends/b2backend.py", line 138, in _delete
log.Log(u"Delete: %s" % self.path + filename, log.INFO)
TypeError: can only concatenate str (not "bytes") to str
In this case the problem is the use of filename in _delete.
From my earlier investigation (which may be wrong, of course, as I am no expert on either Python or this code), I believe the following references also have to be "decoded", in addition to the changes already made:
In _get: the use of local_path.name
In _put: the use of source_path.name
In _delete: the two uses of filename
In _query: the two uses of filename
I reported this bug in debian (https:/ /bugs.debian. org/cgi- bin/bugreport. cgi?bug= 942593), and was told it had been reported here. I have subsequently tested the fix in 0.8.05 but the bug remains, although in a different function.
Here is the update I provided in the debian bug report:
The bug still exists in the new version, although in a slightly different form: python3/ dist-packages/ duplicity/ backend. py", line 371, in inner_retry python3/ dist-packages/ duplicity/ backend. py", line 606, in _do_delete backend. _delete( filename) python3/ dist-packages/ duplicity/ backends/ b2backend. py", line 138, in _delete Log(u"Delete: %s" % self.path + filename, log.INFO)
(during "duplicity full" command)
Backtrace of previous error: Traceback (innermost last):
File "/usr/lib/
return fn(self, *args)
File "/usr/lib/
self.
File "/usr/lib/
log.
TypeError: can only concatenate str (not "bytes") to str
In this case the problem is the use of filename in _delete.
From my earlier investigation (which may be wrong, of course, as I am no expert on either Python or this code), I believe the following references also have to be "decoded", in addition to the changes already made:
In _get: the use of local_path.name
In _put: the use of source_path.name
In _delete: the two uses of filename
In _query: the two uses of filename