Completed
Push — master ( 81ec71...773bd5 )
by Chris
01:15
created

filter_keys()   B

Complexity

Conditions 5

Size

Total Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
c 1
b 0
f 0
dl 0
loc 17
rs 8.5454
1
"""Filters for working with data structures, munging, etc..."""
2
3
4
def filter_vals(obj, vals):
5
    """Filter a dictionary by values.
6
7
    Args:
8
        string (dict): The dictionary to filter.
9
10
    Returns:
11
        string (dict): The filtered dict.
12
    """
13
    if obj is None or not isinstance(vals, list):
14
        return obj
15
    newdict = {}
16
    for k, v in obj.items():
17
        if v in vals:
18
            continue
19
        newdict[k] = v
20
    return newdict
21
22
23
def filter_keys(obj, keys):
24
    """Filter a dictionary by keys.
25
26
    Args:
27
        string (dict): The dictionary to filter.
28
29
    Returns:
30
        string (dict): The filtered dict.
31
    """
32
    if obj is None or not isinstance(keys, list):
33
        return obj
34
    newdict = {}
35
    for k, v in obj.items():
36
        if k in keys:
37
            continue
38
        newdict[k] = v
39
    return newdict
40