From d94d3888ae66386ae62b7df2f0eeb372fdf41c8a Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Tue, 17 Jun 2014 18:14:10 +0200 Subject: utils: reconcile forgotten "filter" funcs renaming MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This parallel refactoring tainted/affected several commits back, starting with f1a9f5e. This should be fine now. Signed-off-by: Jan Pokorný --- utils.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'utils.py') diff --git a/utils.py b/utils.py index 2253b2f..00cf5cc 100644 --- a/utils.py +++ b/utils.py @@ -29,12 +29,20 @@ head_tail = \ (x, args2sgpl(*y)) if not tuplist(x) or kwargs.get('stop', 0) \ else (head_tail(stop=1, *tuple(x) + y)) -filtervars = \ - lambda src, which: dict((x, src[x]) for x in which if x in src) -filtervarsdef = \ - lambda src, which: dict((x, src[x]) for x in which if src.get(x, None)) -filtervarspop = \ - lambda src, which: dict((x, src.pop(x)) for x in which if x in src) +nonetype = type(None) + +filterdict_keep = \ + lambda src, *which, **kw: \ + dict((x, src[x]) for x in which if x in src, **kw) +filterdict_invkeep = \ + lambda src, *which, **kw: \ + dict((x, src[x]) for x in src.iterkeys() if x not in which, **kw) +filterdict_pop = \ + lambda src, *which, **kw: \ + dict((x, src.pop(x)) for x in which if x in src, **kw) +filterdict_invpop = \ + lambda src, *which, **kw: \ + dict((x, src.pop(x)) for x in src if x in which, **kw) # -- cgit