Configurable organization templates and advanced renaming in shanty-org #24

Open
opened 2026-03-17 16:42:54 -04:00 by connor · 0 comments
Owner

Extend the organization system (Issue #5) with more powerful and configurable templates.

  1. Advanced template variables:

    • {original_filename} — the original filename without extension
    • {quality} — e.g., "FLAC", "MP3 320", "MP3 V0"
    • {album_type} — album, single, EP, compilation
    • {first_letter} — first letter of artist (for A-Z directory grouping)
    • Conditional blocks: {if disc_count > 1}Disc {disc_number}/{endif}
  2. Multiple organization profiles — allow different templates for different use cases (e.g., one for lossless, one for lossy, one for singles vs. albums)

  3. Conflict resolution strategies — configurable behavior when target path already exists:

    • Skip
    • Overwrite
    • Rename with incrementing number
    • Keep higher quality version
  4. Reverse organization — given the current organized structure and the format template, allow "flattening" or reorganizing to a different template

Acceptance Criteria

  • All new template variables work
  • Conditional blocks in templates work
  • Multiple organization profiles can be configured
  • Each conflict resolution strategy works correctly
  • Re-organization from one template to another works
  • Existing tests still pass

Dependencies

  • Issue #5 (basic organization)
Extend the organization system (Issue #5) with more powerful and configurable templates. 1. **Advanced template variables:** - `{original_filename}` — the original filename without extension - `{quality}` — e.g., "FLAC", "MP3 320", "MP3 V0" - `{album_type}` — album, single, EP, compilation - `{first_letter}` — first letter of artist (for A-Z directory grouping) - Conditional blocks: `{if disc_count > 1}Disc {disc_number}/{endif}` 2. **Multiple organization profiles** — allow different templates for different use cases (e.g., one for lossless, one for lossy, one for singles vs. albums) 3. **Conflict resolution strategies** — configurable behavior when target path already exists: - Skip - Overwrite - Rename with incrementing number - Keep higher quality version 4. **Reverse organization** — given the current organized structure and the format template, allow "flattening" or reorganizing to a different template ### Acceptance Criteria - [ ] All new template variables work - [ ] Conditional blocks in templates work - [ ] Multiple organization profiles can be configured - [ ] Each conflict resolution strategy works correctly - [ ] Re-organization from one template to another works - [ ] Existing tests still pass ### Dependencies - Issue #5 (basic organization)
connor added the LowPriority label 2026-03-19 12:30:05 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#24