forked from ChelseaKR/ceqa-preflight
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnoe.py
More file actions
59 lines (41 loc) · 2.07 KB
/
Copy pathnoe.py
File metadata and controls
59 lines (41 loc) · 2.07 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
"""NOE-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 Exemption"
def noe_primary_form(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_form(context, rule, expected_category=_CATEGORY)
def noe_primary_readable(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_readable(context, rule, expected_category=_CATEGORY)
def noe_primary_category(context: RuleContext, rule: RuleDefinition) -> Iterable[RuleOutcome]:
return check_primary_category(context, rule, expected_category=_CATEGORY)
def noe_exemption(_: RuleContext, _rule: RuleDefinition) -> Iterable[RuleOutcome]:
return manual_confirmation(
"Confirm exemption choice, citation, and reasoning manually.",
"Review the project record and applicable CEQA authority with a qualified reviewer.",
)
def noe_supporting_findings(_: RuleContext, _rule: RuleDefinition) -> Iterable[RuleOutcome]:
return manual_confirmation(
"Confirm supporting findings, if applicable, manually.",
"Review the project record and include applicable supporting materials.",
)
def noe_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.",
)
NOE_RULES = {
"noe_primary_form": noe_primary_form,
"noe_primary_readable": noe_primary_readable,
"noe_primary_category": noe_primary_category,
"noe_exemption": noe_exemption,
"noe_supporting_findings": noe_supporting_findings,
"noe_signature_timing": noe_signature_timing,
}