Coverage for lintro / parsers / yamllint / yamllint_issue.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Yamllint issue model.""" 

2 

3from dataclasses import dataclass, field 

4from typing import ClassVar 

5 

6from lintro.enums.severity_level import SeverityLevel 

7from lintro.parsers.base_issue import BaseIssue 

8 

9 

10@dataclass 

11class YamllintIssue(BaseIssue): 

12 """Represents an issue found by yamllint. 

13 

14 Attributes: 

15 DISPLAY_FIELD_MAP: Mapping of display field names to attribute names. 

16 level: Severity level (error, warning) 

17 rule: Rule name that was violated (e.g., line-length, trailing-spaces) 

18 """ 

19 

20 DISPLAY_FIELD_MAP: ClassVar[dict[str, str]] = { 

21 **BaseIssue.DISPLAY_FIELD_MAP, 

22 "code": "rule", 

23 "severity": "level", 

24 } 

25 

26 level: SeverityLevel = field(default=SeverityLevel.ERROR) 

27 rule: str | None = field(default=None)