mirror of
https://github.com/Belphemur/CBZOptimizer.git
synced 2026-07-22 03:15:41 +02:00
feat(converter): add --keep-filenames flag to preserve original page filenames
Add a new `--keep-filenames` boolean flag (no shorthand, default false) on both `optimize` and `watch` commands. When enabled, page entries in the output CBZ preserve their original base filenames instead of being renumbered to `%04d` sequential indices. Extension is swapped on format conversion (e.g. `001.png` → `001.webp`), split pages get `-NN` suffixes on the original stem, and duplicate base names fall back to `<stem>_<index>.<ext>`. Watch mode supports the flag via the `keep-filenames` viper config key. Design: data-driven `OriginalName` field on `manga.PageFile`, set at extraction in `cbz_loader.ExtractChapter`. The `Converter` interface is unchanged. Flag off → behavior identical to before. Closes #216
This commit is contained in:
@@ -13,4 +13,10 @@ type PageFile struct {
|
||||
IsSplitted bool
|
||||
// SplitPartIndex is the part index when the page was split.
|
||||
SplitPartIndex uint16
|
||||
// OriginalName is the base filename (e.g. "page01.png") of the page as
|
||||
// it appeared in the source archive, recorded when the --keep-filenames
|
||||
// flag is enabled. Empty when the flag is off or the source name is
|
||||
// unknown. When set, downstream code uses this stem (with the final
|
||||
// Extension swapped in) instead of the default %04d sequential name.
|
||||
OriginalName string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user