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

annif.vocab.rules.kwargs_to_exclude_uris()   A

Complexity

Conditions 3

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 8
nop 1
dl 0
loc 9
rs 10
c 0
b 0
f 0
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