From b883d9ca3683b2ee8430c378991e5a0d074ba573 Mon Sep 17 00:00:00 2001 From: Cedric Leporcq Date: Mon, 18 Apr 2022 19:38:41 +0200 Subject: [PATCH] Fix exclude option --- ordigi/cli.py | 1 + ordigi/collection.py | 11 +++++++++-- ordigi/config.py | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ordigi/cli.py b/ordigi/cli.py index 78962b7..cad8444 100755 --- a/ordigi/cli.py +++ b/ordigi/cli.py @@ -348,6 +348,7 @@ def _compare(**kwargs): @cli.command('edit') @add_options(_logger_options) +@add_options(_exclude_options) @add_options(_filter_options) @click.option( '--key', diff --git a/ordigi/collection.py b/ordigi/collection.py index 6fa9523..b67bd99 100644 --- a/ordigi/collection.py +++ b/ordigi/collection.py @@ -732,9 +732,16 @@ class Collection(SortMedias): # Set client options for option, value in cli_options.items(): - if value not in (None, ()): + if value not in (None, set()): for section in self.opt: - self.opt[section][option] = value + if option in self.opt[section]: + if option == 'exclude': + self.opt[section][option].union(set(value)) + elif option in ('ignore_tags', 'extensions'): + self.opt[section][option] = set(value) + else: + self.opt[section][option] = value + break self.exclude = self.opt['Filters']['exclude'] if not self.exclude: diff --git a/ordigi/config.py b/ordigi/config.py index 897b28a..0636d7f 100644 --- a/ordigi/config.py +++ b/ordigi/config.py @@ -66,7 +66,7 @@ class Config: 'use_file_dates': False, }, 'Filters': { - 'exclude': None, + 'exclude': set(), 'extensions': None, 'glob': '**/*', 'max_deep': None,