Skip to content

Emby Extractor 1.0.0

Choose a tag to compare

@Rokk001 Rokk001 released this 07 Oct 08:19
· 173 commits to main since this release

Changelog

All notable changes to this project will be documented in this file.

[1.0.0] - 2025-10-07

Breaking/Stable

  • First stable release with robust movie and TV-show extraction flows
  • Deterministic single-line progress bars for Reading and Extracting

Added

  • --debug flag for detailed directory processing logs (off by default)
  • Dynamic terminal-width truncation so progress lines never wrap
  • Correct handling of modern multi-part RARs (.partXX.rar) without base .rar
  • Windows-friendly inline updates (carriage return + clear line)

Fixed

  • Multi-part extraction shows correct part counters (X/Y)
  • Reading progress reaches 100% before extraction starts
  • Avoids printing repeated lines during extraction
  • Season directory recursion and episode extraction logic

Internal

  • Refined archive grouping and validation rules
  • Cleaner orchestration for two-phase processing (read then extract)
  • Logging format without level prefixes for end-user clarity

[0.1.0] - 2025-01-06

Added

  • Initial release of Emby Extractor
  • Multi-part archive extraction support (RAR, ZIP, TAR formats)
  • Smart TV show organization with Season normalization
  • Configurable subfolder policies (Subs, Sample, Other)
  • Real-time progress tracking with color-coded progress bars
  • Demo mode for testing without filesystem changes
  • Automatic cleanup of finished directory based on file age
  • Comprehensive CLI with override options
  • Support for multiple download root directories
  • Flattening of episode directories into season folders

Features

  • TV Show Organization: Automatically detects and organizes TV shows into ShowName/Season XX/ structure
  • Subfolder Management: Intelligent handling of Subs, Sample, and custom subdirectories
  • Progress Tracking: Single-line progress updates for multi-part operations, separate lines for completed tasks
  • Error Handling: Automatic cleanup of partially extracted content on failure
  • Atomic Operations: All-or-nothing extraction per release to maintain data integrity

Technical Details

  • Python 3.11+ required
  • 7-Zip integration for RAR archive support
  • TOML-based configuration
  • Modular architecture with 6 focused modules:
    • archive_constants: Constants and patterns
    • archive_detection: Archive discovery and grouping
    • archive_extraction: Extraction logic with 7-Zip support
    • path_utils: TV show path organization
    • file_operations: File/directory management
    • archives: Main orchestration

Code Quality

  • Refactored 1204-line monolithic file into 6 maintainable modules
  • Comprehensive docstrings for all public functions
  • Clear separation of concerns
  • Improved testability with focused module boundaries