Office backend follow-ups after 0.1.0 (from fetchkit integration) #11
Copy link
Copy link
Open
Description
These gaps came up while making markkit the default Office backend in fetchkit (everruns/fetchkit#183). They are ordered roughly by impact.
Format coverage
- PPTX support. fetchkit's deprecated in-crate converter handled it, so fetchkit loses PPTX by default until markkit supports it.
- XLSB support.
-
Format::from_content_typemapsapplication/vnd.ms-excel.sheet.binary.macroenabled.12(XLSB) toXlsx, because the string containsms-excel.sheet. Detect it as XLSB instead.
Correctness
- A sheet with a single row renders as a header row with no data rows.
- Spreadsheets have no title:
Extraction.titleis alwaysNonefor XLSX/XLS/ODS. The title could come from the document properties (docProps/core.xmlormeta.xml). - Output always ends with a trailing newline. Decide whether that is intended.
Safety and limits
-
max_processing_secsis in the config but never enforced, so parsing has no time budget. - The release profile uses
panic = "abort", which makes thecatch_unwindguard ineffective in markkit's own binaries.
API ergonomics for embedders
- Make
MarkkitCloneandDebug. fetchkit currently wraps it in anArcand writes its ownDebug. - Make warnings structured (a code plus detail), not free-text
code: detailstrings. - Give errors structured fields, for example
ResourceLimit { size, limit }, so callers can map them without parsing strings. - With
default-features = falseplusdocx,spreadsheet, markkit still pulls inanyhow,regex,unicode-segmentation,mime,base64,serde_jsonandtokio. Make the ones the document path doesn't need optional.
Minor
- An XLSX file without
_rels/.relsfails inside calamine. Real files always have it, so this only affects hand-built fixtures.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity