Module names

Source
Expand description

Making a path acceptable to the filesystem it is about to be written to.

A music library is full of names a general-purpose filesystem takes without blinking and a portable player refuses: Where Is My Mind?, Symphony No. 5: Allegro, AC/DC. Copying to a FAT32 or exFAT card — which is what a player or a cheap USB stick almost always is — fails on those, one file at a time, in the middle of a run that has already taken twenty minutes.

Nothing here is silent. Every component this module changes is reported back so the run can say what it renamed and why. A copy whose file names quietly differ from the library’s is a copy nobody can compare against the original afterwards.

Functions§

adapt
A component made acceptable, or left exactly as it was.
make_unique
Makes a name unique among those already taken, and records it.
portable_key
Conservative component identity for portable copy namespace admission. This is not a claim about every alias supported by a particular filesystem.
restricts_names
Asks the destination itself what it accepts, by trying.