skppy.parser_legacy.diagnostics¶
Inspect parser support and failures for pre-ZIP SketchUp files.
Diagnostics distinguish three questions: whether a complete model parses,
whether every class declared by its CVersionMap is supported, and which
runtime-class tags actually occur in the object graph. The file helpers do not
modify their input.
Example
report = diagnose_legacy_class_coverage_file("legacy.skp")
for entry in report.missing_entries:
print(entry.class_name, entry.version)
- class skppy.parser_legacy.diagnostics.LegacyClassCoverageEntry[source]
Bases:
objectSupport status for one class in a legacy version map.
- __init__(class_name: str, version: int, status: str) None
- class skppy.parser_legacy.diagnostics.LegacyClassCoverageReport[source]
Bases:
objectCoverage summary for classes declared by a legacy version map.
- __init__(entries: tuple[LegacyClassCoverageEntry, ...], issues: tuple[LegacyDiagnosticIssue, ...] = ()) None
- property heuristic_entries: tuple[LegacyClassCoverageEntry, ...]
Return version-map classes currently recovered heuristically.
- property missing_entries: tuple[LegacyClassCoverageEntry, ...]
Return version-map classes without parser support yet.
- property ok: bool
Return
Truewhen the version map was read without issues.
- property supported_entries: tuple[LegacyClassCoverageEntry, ...]
Return version-map classes with direct parser support.
- class skppy.parser_legacy.diagnostics.LegacyDiagnosticIssue[source]
Bases:
objectOne diagnostic issue found while parsing a legacy stream.
- __init__(kind: str, message: str, class_name: str | None = None, offset: int | None = None, schema: int | None = None, class_index: int | None = None, object_index: int | None = None, tag_kind: str | None = None) None
- class skppy.parser_legacy.diagnostics.LegacyDiagnosticReport[source]
Bases:
objectSummary of parser-coverage issues for one legacy stream.
- __init__(issues: tuple[LegacyDiagnosticIssue, ...]) None
- property ok: bool
Return
Truewhen the stream parsed without diagnostic issues.
- class skppy.parser_legacy.diagnostics.LegacyRuntimeClassObservation[source]
Bases:
objectObserved runtime-class tags for one class declared by a legacy version map.
- __init__(class_name: str, version: int, status: str, count: int, first_offset: int | None) None
- class skppy.parser_legacy.diagnostics.LegacyRuntimeClassReport[source]
Bases:
objectRuntime-class tag observations for one legacy stream.
- __init__(entries: tuple[LegacyRuntimeClassObservation, ...], issues: tuple[LegacyDiagnosticIssue, ...] = ()) None
- property heuristic_observed_entries: tuple[LegacyRuntimeClassObservation, ...]
Return observed runtime classes currently recovered heuristically.
- property missing_observed_entries: tuple[LegacyRuntimeClassObservation, ...]
Return observed runtime classes without direct parser support.
- property observed_entries: tuple[LegacyRuntimeClassObservation, ...]
Return classes whose runtime-class tag appears in the stream.
- property ok: bool
Return
Truewhen runtime-class observations were read cleanly.
- skppy.parser_legacy.diagnostics.diagnose_legacy_bytes(data: bytes) LegacyDiagnosticReport[source]
Parse legacy bytes and return unsupported-class diagnostics.
- skppy.parser_legacy.diagnostics.diagnose_legacy_class_coverage_bytes(data: bytes) LegacyClassCoverageReport[source]
Read legacy bytes and report per-class support coverage.
- skppy.parser_legacy.diagnostics.diagnose_legacy_class_coverage_file(path: str | Path) LegacyClassCoverageReport[source]
Read a legacy file and report per-class support coverage.
- skppy.parser_legacy.diagnostics.diagnose_legacy_class_coverage_stream(stream: BinaryIO) LegacyClassCoverageReport[source]
Read the legacy version map and report per-class support coverage.
- skppy.parser_legacy.diagnostics.diagnose_legacy_file(path: str | Path) LegacyDiagnosticReport[source]
Parse a legacy file and return unsupported-class diagnostics.
- skppy.parser_legacy.diagnostics.diagnose_legacy_runtime_classes_bytes(data: bytes) LegacyRuntimeClassReport[source]
Report runtime-class tags actually observed in legacy bytes.
- skppy.parser_legacy.diagnostics.diagnose_legacy_runtime_classes_file(path: str | Path) LegacyRuntimeClassReport[source]
Report runtime-class tags actually observed in a legacy file.
- skppy.parser_legacy.diagnostics.diagnose_legacy_runtime_classes_stream(stream: BinaryIO) LegacyRuntimeClassReport[source]
Report runtime-class tags actually observed in a legacy stream.
- skppy.parser_legacy.diagnostics.diagnose_legacy_stream(stream: BinaryIO) LegacyDiagnosticReport[source]
Parse a legacy stream and return unsupported-class diagnostics.