From f73167ba7444527d388c458686ae410ecfed1070 Mon Sep 17 00:00:00 2001 From: echel0n Date: Sun, 20 Apr 2014 14:25:15 -0700 Subject: [PATCH] Added new option 'extract' to all processing sections, set to 1 for nzbToMedia or TorrentToMedia to extract files from archives or set to 0 for the processor to do the extraction after we finish processing what files we are able to. Added code into migration function that removes obsolete options from migrating into the new config. --- nzbtomedia/nzbToMediaConfig.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/nzbtomedia/nzbToMediaConfig.py b/nzbtomedia/nzbToMediaConfig.py index 0ceae195..85fca5ad 100644 --- a/nzbtomedia/nzbToMediaConfig.py +++ b/nzbtomedia/nzbToMediaConfig.py @@ -147,18 +147,21 @@ class ConfigObj(configobj.ConfigObj, Section): CFG_NEW['General']['force_clean'] = value values.pop(option) - # remove any options that we no longer use or need from new config - def find_key(d, key): - for k, v in d.items(): - if isinstance(v, dict): - p = find_key(v, key) - if p: - return [k] + p - elif v == key: - return [k] + # remove any options that we no longer need so they don't migrate into our new config + def find_key(node, kv): + if isinstance(node, list): + for i in node: + for x in find_key(i, kv): + yield x + elif isinstance(node, dict): + if kv in node: + yield node[kv] + for j in node.values(): + for x in find_key(j, kv): + yield x - #if not find_key(CFG_NEW, option): - # values.pop(option) + if not list(find_key(CFG_NEW, option)): + values.pop(option) return values