Bug 1142251 - Duplicity crashes with --exclude-older-than
Duplicity crashes with --exclude-older-than
Status: NEW
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem
x86-64 openSUSE Factory
: P5 - None : Major (vote)
: ---
Assigned To: Pascal Bleser
E-mail List
Depends on:
  Show dependency treegraph
Reported: 2019-07-20 05:55 UTC by David Walker
Modified: 2020-01-10 18:00 UTC (History)
1 user (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Note You need to log in before you can comment on or make changes to this bug.
Description David Walker 2019-07-20 05:55:25 UTC
Duplicity from the 20190717 release of Tumbleweed (duplicity-0.8.01-1.1.x86_64) fails when the --exclude-older-than option is used with a fully-specified date in ISO format.  See below.  This didn't happen with the version of duplicity from the 20190704 release.

> duplicity --exclude-older-than 2019-03-17T19:50:06-07:00 / ~/NoBackup/DuplicityTest

Traceback (innermost last):
  File "/usr/bin/duplicity", line 1711, in <module>
  File "/usr/bin/duplicity", line 1697, in with_tempdir
  File "/usr/bin/duplicity", line 1530, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/lib64/python3.7/site-packages/duplicity/commandline.py", line 1153, in ProcessCommandLine
    args = parse_cmdline_options(cmdline_list)
  File "/usr/lib64/python3.7/site-packages/duplicity/commandline.py", line 683, in parse_cmdline_options
    (options, args) = parser.parse_args(arglist)
  File "/usr/lib64/python3.7/optparse.py", line 1387, in parse_args
    stop = self._process_args(largs, rargs, values)
  File "/usr/lib64/python3.7/optparse.py", line 1427, in _process_args
    self._process_long_opt(rargs, values)
  File "/usr/lib64/python3.7/optparse.py", line 1501, in _process_long_opt
    option.process(opt, value, values, self)
  File "/usr/lib64/python3.7/optparse.py", line 785, in process
    self.action, self.dest, opt, value, values, parser)
  File "/usr/lib64/python3.7/site-packages/duplicity/commandline.py", line 203, in take_action
    self, action, dest, opt, value, values, parser)
  File "/usr/lib64/python3.7/optparse.py", line 805, in take_action
    self.callback(self, opt, value, parser, *args, **kwargs)
  File "/usr/lib64/python3.7/site-packages/duplicity/commandline.py", line 261, in add_selection
    select_opts.append((util.fsdecode(option), util.fsdecode(additional_arg)))
  File "/usr/lib64/python3.7/os.py", line 821, in fsdecode
    filename = fspath(filename)  # Does type-checking of `filename`.
 TypeError: expected str, bytes or os.PathLike object, not int
Comment 1 David Walker 2019-08-22 00:03:31 UTC
I've been wrestling with this again in Tumbleweed 20190814.  I noticed that the version of duplicity in Tumbleweed is the duplicity project's development release (0.8.03), whereas the version that does not have this bug is their stable release (0.7.19), the one that worked from Tumbleweed 20190704.  Would it make sense to use 0.7.19 for Tumbleweed until the duplicity project's 0.8.x series is more stable?
Comment 2 David Walker 2019-12-13 23:59:56 UTC
I reported this to the Duplicity project, and the recently released version 0.8.08 from https://launchpad.net/duplicity resolves the problem.  Hopefully 0.8.08 will make its way to Tumbleweed soon.
Comment 3 David Walker 2020-01-10 18:00:03 UTC
I just noticed that version 0.8.08 is now provided in the Tumbleweed repository., and it's resolved my issue with --exclude-older-than.  Thanks.