Coverage for lobster/common/multi_file_input_config.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-09-22 04:43 +0000

1# LOBSTER - Lightweight Open BMW Software Traceability Evidence Report 

2# Copyright (C) 2025 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) 

3# 

4# This program is free software: you can redistribute it and/or modify 

5# it under the terms of the GNU Affero General Public License as 

6# published by the Free Software Foundation, either version 3 of the 

7# License, or (at your option) any later version. 

8# 

9# This program is distributed in the hope that it will be useful, but 

10# WITHOUT ANY WARRANTY; without even the implied warranty of 

11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 

12# Affero General Public License for more details. 

13# 

14# You should have received a copy of the GNU Affero General Public 

15# License along with this program. If not, see 

16# <https://www.gnu.org/licenses/>. 

17 

18from dataclasses import dataclass 

19from typing import Iterable, Optional, Type, Union 

20from re import Pattern 

21 

22from lobster.common.items import Activity, Implementation, Requirement 

23 

24 

25@dataclass 

26class Config: 

27 inputs: Optional[Iterable[str]] 

28 inputs_from_file: Optional[str] 

29 extensions: Iterable[str] 

30 exclude_patterns: Optional[Iterable[Pattern]] 

31 schema: Union[Type[Requirement], Type[Implementation], Type[Activity]]