forked from ChelseaKR/ceqa-preflight
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnod.py
More file actions
62 lines (44 loc) · 2.17 KB
/
Copy pathnod.py
File metadata and controls
62 lines (44 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""NOD-specific checks that use only explicit manifest and PDF facts."""
from __future__ import annotations
from collections.abc import Iterable
from ceqa_preflight.rule_catalog import RuleDefinition
from ceqa_preflight.rule_engine import RuleContext, RuleOutcome
from ceqa_preflight.rules.filing import (
check_primary_category,
check_primary_form,
check_primary_readable,
manual_confirmation,
)
_CATEGORY = "Notice of Determination"
def nod_primary_form(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_form(context, rule, expected_category=_CATEGORY)
def nod_primary_readable(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_readable(context, rule, expected_category=_CATEGORY)
def nod_primary_category(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_category(context, rule, expected_category=_CATEGORY)
def nod_cdfw_fee(_: RuleContext, _rule: RuleDefinition) -> Iterable[RuleOutcome]:
return manual_confirmation(
"Confirm applicable CDFW fee handling and any required receipt manually.",
"Review the filing requirements and attach or retain supporting records as applicable.",
)
def nod_supporting_materials(_: RuleContext, _rule: RuleDefinition) -> Iterable[RuleOutcome]:
return manual_confirmation(
(
"Confirm whether mitigation monitoring, findings, overriding considerations, "
"or final materials apply."
),
"Review the project record and include applicable supporting materials.",
)
def nod_signature_timing(_: RuleContext, _rule: RuleDefinition) -> Iterable[RuleOutcome]:
return manual_confirmation(
"Confirm signature and filing timing manually.",
"Verify authorization, signature, and filing timing against applicable requirements.",
)
NOD_RULES = {
"nod_primary_form": nod_primary_form,
"nod_primary_readable": nod_primary_readable,
"nod_primary_category": nod_primary_category,
"nod_cdfw_fee": nod_cdfw_fee,
"nod_supporting_materials": nod_supporting_materials,
"nod_signature_timing": nod_signature_timing,
}