Passed
Pull Request — main (#846)
by Osma
07:22 queued 04:07
created

annif.vocab.rules   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 15
rs 10
c 0
b 0
f 0
wmc 3

1 Function

Rating   Name   Duplication   Size   Complexity  
A kwargs_to_exclude_uris() 0 9 3
1
"""Support for exclude/include rules for subject vocabularies"""
2
3
from annif.exception import ConfigurationException
4
5
6
def kwargs_to_exclude_uris(kwargs: dict[str, str]) -> set[str]:
7
    exclude_uris = set()
8
    for key, value in kwargs.items():
9
        vals = value.split("|")
10
        if key == "exclude":
11
            exclude_uris.update(vals)
12
        else:
13
            raise ConfigurationException(f"unknown vocab keyword argument {key}")
14
    return exclude_uris
15