Porting Reference
Historical Reference
This section contains archival reference materials from the original PowerShell implementation. These documents were used during development and are preserved for traceability. They are not part of the runtime codebase and do not affect shruggie-indexer's behavior.
Operations Catalog
- MakeIndex Operations Catalog — Categorized inventory of all logical operations in the original
MakeIndexand its dependency tree, mapped to recommended Python modules.
Configuration Reference
- MetadataFileParser Object — Isolated PowerShell script containing the complete
$global:MetadataFileParserobject definition. Source of truth for sidecar metadata file discovery and classification patterns.
Dependency Catalogs
Each catalog documents a single function from the original pslib library that MakeIndex depends on — its parameters, internal sub-functions, external calls, and behavioral contract.
| Function | Catalog | Status in Port |
|---|---|---|
| MakeIndex | MakeIndex_DependencyCatalog.md | Top-level function being ported. |
| Base64DecodeString | Base64DecodeString_DependencyCatalog.md | Eliminated — exiftool arguments passed directly. |
| Date2UnixTime | Date2UnixTime_DependencyCatalog.md | Eliminated — timestamps derived from stat results. |
| DirectoryId | DirectoryId_DependencyCatalog.md | Ported to core/hashing.py. |
| FileId | FileId_DependencyCatalog.md | Ported to core/hashing.py. |
| MetaFileRead | MetaFileRead_DependencyCatalog.md | Ported to core/sidecar.py. |
| TempOpen | TempOpen_DependencyCatalog.md | Eliminated — replaced by tempfile. |
| TempClose | TempClose_DependencyCatalog.md | Eliminated — replaced by context manager cleanup. |
| Vbs | Vbs_DependencyCatalog.md | Replaced by Python logging framework. |
V1 Output Schema
- MakeIndex_OutputSchema.json — The original v1 output schema definition. Retained as a porting reference only — the port targets the v2 schema.
V1 Output Examples
The v1-examples/ directory contains real-world output files from the original MakeIndex function: