oc_chat
Loading...
Searching...
No Matches
parser.py File Reference

Go to the source code of this file.

Classes

class  oc_chat.registry.roadmap.parser.RoadmapParseError
class  oc_chat.registry.roadmap.parser.ParsedPhase
class  oc_chat.registry.roadmap.parser.ParsedTrack
class  oc_chat.registry.roadmap.parser.ParsedItem
class  oc_chat.registry.roadmap.parser.ParsedDependency
class  oc_chat.registry.roadmap.parser.ParsedRenderSection
class  oc_chat.registry.roadmap.parser.ParsedRoadmap

Namespaces

namespace  oc_chat
namespace  oc_chat.registry
namespace  oc_chat.registry.roadmap
namespace  oc_chat.registry.roadmap.parser

Functions

ParsedRoadmap oc_chat.registry.roadmap.parser.parse_roadmap_file (str|Path path)
str oc_chat.registry.roadmap.parser.canonical_record_hash (str table, str natural_key, dict[str, object] fields)
str oc_chat.registry.roadmap.parser._file_kind (Path path)
str|None oc_chat.registry.roadmap.parser._version_id (Path path, str text)
str oc_chat.registry.roadmap.parser._era_id (str version_id)
dict[str, str] oc_chat.registry.roadmap.parser._header_values (str text)
str oc_chat.registry.roadmap.parser._title (str text)
str oc_chat.registry.roadmap.parser._fallback_timestamp (str version_id)
tuple[ParsedPhase,...] oc_chat.registry.roadmap.parser._parse_phases (str text, str version_id)
tuple[ParsedItem,...] oc_chat.registry.roadmap.parser._parse_items (str text, str file_kind, str version_id, tuple[ParsedPhase,...] phases)
tuple[ParsedDependency,...] oc_chat.registry.roadmap.parser._parse_dependencies (str text, set[str] item_ids)
tuple[ParsedRenderSection,...] oc_chat.registry.roadmap.parser._parse_render_sections (str text, str file_kind)
list[list[str]] oc_chat.registry.roadmap.parser._iter_markdown_rows (str text)
bool oc_chat.registry.roadmap.parser._is_separator_cell (str cell)
str|None oc_chat.registry.roadmap.parser._item_id_from_cells (list[str] cells)
str|None oc_chat.registry.roadmap.parser._phase_code_from_cells (list[str] cells)
str|None oc_chat.registry.roadmap.parser._cell_after_phase_code (list[str] cells, str code)
str oc_chat.registry.roadmap.parser._item_title (list[str] cells, str item_id)
str|None oc_chat.registry.roadmap.parser._row_prose (list[str] cells, str item_id, str title)
str oc_chat.registry.roadmap.parser._status_from_cells (list[str] cells)
str|None oc_chat.registry.roadmap.parser._priority_from_cells (list[str] cells)
bool oc_chat.registry.roadmap.parser._looks_status_or_priority (str text)
str|None oc_chat.registry.roadmap.parser._phase_for_item (str item_id, set[str] phase_codes)
str oc_chat.registry.roadmap.parser._track_kind (str item_id, str file_kind, str|None phase_code)
str|None oc_chat.registry.roadmap.parser._parent_phase_code (str code)
str|None oc_chat.registry.roadmap.parser._parent_item_id (str item_id)
str oc_chat.registry.roadmap.parser._version_target (str version_id)
tuple[int, int] oc_chat.registry.roadmap.parser._item_score (ParsedItem item)
str oc_chat.registry.roadmap.parser._strip_markdown (str|None value)

Variables

 oc_chat.registry.roadmap.parser.VERSION_RE = re.compile(r"\b(?:v)?(?P<version>\d+\.\d+)\b")
 oc_chat.registry.roadmap.parser.H1_RE = re.compile(r"^#\s+(?P<title>.+?)\s*$", re.MULTILINE)
 oc_chat.registry.roadmap.parser.HEADER_RE = re.compile(r"^\*\*(?P<name>Version|Created|Last updated):\*\*\s*(?P<value>.+?)\s*$")
 oc_chat.registry.roadmap.parser.PHASE_HEADING_RE
 oc_chat.registry.roadmap.parser.ITEM_ID_RE
 oc_chat.registry.roadmap.parser.PHASE_CODE_RE = re.compile(r"^M\d+(?:\.\d+[a-z]?|[a-z])?$|^M11-GATE$")
 oc_chat.registry.roadmap.parser.FRACTION_RE = re.compile(r"\b\d+\s*/\s*\d+\b")
 oc_chat.registry.roadmap.parser.PLAN_ID_RE = re.compile(r"\b\d{3}-[A-Za-z0-9][A-Za-z0-9_.-]*\b")
tuple oc_chat.registry.roadmap.parser.DONE_MARKERS = ("\u2705", "[x]", "done", "complete", "completed", "shipped", "closed")
tuple oc_chat.registry.roadmap.parser.PROGRESS_MARKERS = ("\U0001f535", "[~]", "in progress", "partial", "started")
tuple oc_chat.registry.roadmap.parser.BLOCKED_MARKERS = ("\U0001f512", "[!]", "blocked", "gated")
tuple oc_chat.registry.roadmap.parser.TODO_MARKERS = ("\u2b1c", "[ ]", "todo", "not started")
tuple oc_chat.registry.roadmap.parser.PRIORITY_MARKERS
tuple oc_chat.registry.roadmap.parser.DEFAULT_TRACKS