Maksim Totmin 71f35c53cb refactor: vendor iOpenPod core modules instead of pip dependency
Vendored 5 packages from iOpenPod (TheRealSavi/iOpenPod):
  iTunesDB_Writer/  — binary iTunesDB generation
  iTunesDB_Shared/  — field defs, constants, album identity
  SQLiteDB_Writer/  — SQLite databases for Nano 6G/7G
  iTunesDB_Parser/  — play stats reading from iPod
  ipod_device/      — device detection, FireWire ID, capabilities

Rationale: iOpenPod is a standalone iPod manager app, not a library.
Pulling it as a pip dependency is heavy and confusing for users.

Changes:
  + src/vendor/   — 77 .py files + calcHashAB.wasm (506 KB)
  ~ ipod_nano7_db.py  — _find_iop_root() now returns src/vendor/
  ~ requirements.txt   — iopenpod replaced with wasmtime + pycryptodome
  ~ .gitignore         — removed iOpenPod/ exclusion
  (setup.py reads requirements.txt automatically)
2026-06-02 09:16:19 +07:00

16 lines
345 B
Python

"""MHSD (DataSet) field definitions.
Declarative :class:`FieldDef` list for the MHSD chunk — a dataset
container with a type field that determines its child.
"""
from .field_base import FieldDef, _u32
_S = "mhsd"
MHSD_HEADER_SIZE: int = 96
MHSD_FIELDS: list[FieldDef] = [
_u32("dataset_type", 0x0C, section_type=_S, required=True),
]