annif.corpus.combine.CombinedCorpus.documents()   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 4
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
"""Class for combining multiple corpora so they behave like a single corpus"""
2
3
from __future__ import annotations
4
5
import itertools
6
from typing import TYPE_CHECKING
7
8
from .types import DocumentCorpus
9
10
if TYPE_CHECKING:
11
    from annif.corpus.document import DocumentFile
12
13
14
class CombinedCorpus(DocumentCorpus):
15
    """Class for combining multiple corpora so they behave like a single
16
    corpus"""
17
18
    def __init__(self, corpora: list[DocumentFile]) -> None:
19
        self._corpora = corpora
20
21
    @property
22
    def documents(self) -> itertools.chain:
23
        return itertools.chain.from_iterable(
24
            [corpus.documents for corpus in self._corpora]
25
        )
26