InvalidBackendURL for multi backend
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Fix Released
|
Medium
|
Unassigned |
Bug Description
This is a repost of https:/
duplicity 0.8.05
Python 3.7.5
Fedora 31
Linux
$ duplicity collection-status
'multi:
InvalidBackendURL: Syntax error (path) in:
b'file:
My duplicity.json contains the following contents:
[
{
"url": "file:/
},
{
"url": "file:/
}
]
Using 'file:/
fine, so the problem seems to be related to the multi backend. Here is
a full stack trace:
MultiBackend: use store b'file:
Using temporary directory /tmp/duplicity-
User error detail: Traceback (innermost last):
File "/usr/bin/
with_
File "/usr/bin/
fn()
File "/usr/lib64/
1519, in main
action = commandline.
File "/usr/lib64/
line 1203, in ProcessCommandLine
globals.backend = backend.
File "/usr/lib64/
225, in get_backend
obj = get_backend_
File "/usr/lib64/
211, in get_backend_object
return factory(pu)
File "/usr/lib64/
packages/
store = duplicity.
File "/usr/lib64/
225, in get_backend
obj = get_backend_
File "/usr/lib64/
188, in get_backend_object
if not is_backend_
File "/usr/lib64/
172, in is_backend_url
pu = ParsedUrl(
File "/usr/lib64/
274, in __init__
raise InvalidBackendU
duplicity.
b'file:
Based on my debugging, the issue is that the type of pu.path is a bytes string when urllib.
Changed in duplicity: | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Kenneth Loafman (kenneth-loafman) |
milestone: | none → 0.8.07 |
Changed in duplicity: | |
assignee: | Kenneth Loafman (kenneth-loafman) → nobody |
status: | In Progress → Fix Committed |
Changed in duplicity: | |
status: | Fix Committed → Fix Released |
Confirming and adding one more observation. backend.py gets data from two sources: command line and the multibackend JSON so one of them comes as normal string, the other one as bytes. So any fix needs to unify this across the whole class.