content_hash.decodes.get_decode()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 19
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
cc 2
eloc 5
nop 1
dl 0
loc 19
ccs 0
cts 5
cp 0
crap 6
rs 10
c 0
b 0
f 0
1
"""Known decoding."""
2
3
import importlib
4
5
6
CACHE = {}
7
"""dict: a cache of known decoding"""
8
9
10
def get_decode(name):
11
    """
12
    Get decoding function by name.
13
14
    Decoding should be a function that takes
15
    a `bytes` input and returns a `str` result.
16
17
    :param str name: a decode name
18
19
    :return: the resulting decode
20
    :rtype: callable
21
    """
22
23
    decode = CACHE.get(name)
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable CACHE does not seem to be defined.
Loading history...
24
25
    if not decode:
26
        decode = CACHE[name] = importlib.import_module(f".{name}", __name__).decode
27
28
    return decode
29