File: _err_gather.py

package info (click to toggle)
python-pyhanko-certvalidator 0.26.3-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,956 kB
  • sloc: python: 9,254; sh: 47; makefile: 4
file content (22 lines) | stat: -rw-r--r-- 718 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from dataclasses import dataclass, field
from datetime import datetime
from typing import Any, Optional


@dataclass
class Errors:
    failures: list = field(default_factory=list)
    freshness_failures_only: bool = True
    stale_last_usable_at: Optional[datetime] = None

    def append(self, msg: str, revinfo: Any, is_freshness_failure=False):
        self.failures.append((msg, revinfo))
        self.freshness_failures_only &= is_freshness_failure

    def update_stale(self, dt: Optional[datetime]):
        if dt is not None:
            self.stale_last_usable_at = (
                dt
                if self.stale_last_usable_at is None
                else max(self.stale_last_usable_at, dt)
            )