Skip to content

Releases: rahaaatul/TokySnatcher

Release v0.3.0

23 Nov 14:46

Choose a tag to compare

In this release, we focused on enhancing search functionality, improving script structure and error handling, and updating dependencies.

Highlights

Search

  • Pagination for navigating through search results.
  • Caching of previously visited pages to avoid re-fetching.
  • Improved user experience with added options and better error handling.

Features

  • Appended a book emoji (πŸ“–) before each title in the search results.
  • Added the ability to navigate to the next page and previous page.
  • Added "➑️ Next page" and "⬅️ Previous page" options to the titles and urls lists.
  • Added "πŸ” Search again" and "❌ Exit" options to the titles and urls lists.
  • Implemented caching of previously visited pages to avoid re-fetching them.

Refactors

  • Improved main script structure and error handling:
    • Renamed cls function to clear_terminal for better readability (unused).
    • Moved choices inside the main function to limit its scope.
    • Added sys import for handling script exit.
    • Improved error handling by checking if selected_action is None and exiting gracefully.
    • Wrapped main function call in a try block to handle KeyboardInterrupt and exit gracefully.
    • Renamed variables for clarity: options to actions and res to result.
  • Improved chapter fetching and error handling:
    • Renamed variable crap to script for better readability.
    • Added a check to ensure string is not None before proceeding.
    • Simplified download_folder assignment using a conditional expression.
    • Added logging for cases where no tracks are found in the provided URL.
    • General cleanup and improved readability.
  • Improved search module structure and error handling:
    • Combined if not_found and if not_found.text == "Nothing Found" into a single condition.
    • Added a check to ensure results is a list before iterating.
    • Handled "Search again" selection by calling search_book() recursively.
    • Handled "Exit" selection by exiting the function gracefully.
    • Handled "Next page" and "Previous page" selections to navigate accordingly.

Chores

  • Updated dependencies and version:
    • Bump version from 0.2 to 0.3.
    • Updated dependencies:
      • json5 from 0.9.10 to 0.9.28
      • pick from 2.3.2 to 2.4.0
      • requests from 2.27.1 to 2.32.3
      • tqdm from 4.64.0 to 4.67.0
      • urllib3 from 1.26.8 to 2.2.3
    • Maintained other dependencies at current versions.

❀️ Big thanks to Copilot

Release v0.2.0

09 Aug 15:39

Choose a tag to compare

What's Changed

  • Notable Changes + Introduction of Command line arguments and also... by @rahaaatul in #3

New Contributors

Full Changelog: v1.0...v1.

Release v0.1.0

09 Aug 14:19

Choose a tag to compare

What's Changed

  • Replace '/' in chapter name with something else by @drdeaton in #1
  • Convert to a cli script. by @rozari0 in #2

New Contributors

Full Changelog: https://github.com/rahaaatul/TokySnatcher/commits/v1.0

Release v0.5.0

24 Nov 21:14
7853cb7

Choose a tag to compare

✨ What's New

πŸ”₯ Fixed Major Issues:

  • Resolved all download failures and 404 errors that were breaking the app
  • Automatic audiobook chapter discovery (no more manual work!)
  • Much more reliable downloads overall

🌈 Beautiful New Interface:

  • Colorful, professional progress displays with emojis
  • Real-time download tracking you can actually see and understand
  • Better error messages that tell you what actually went wrong

🎡 Smart Improvements:

  • Audiobooks now save to your Music folder automatically
  • New command options for detailed progress viewing when you want it
  • Enhanced stability during long download sessions

πŸš€ Performance & Reliability

  • Up to 3x faster downloads
  • Modern package management for better stability
  • Cleaner code structure for long-term maintainability

πŸ”§ What Changed for Users

No major changes needed! Just enjoy the improvements:

  • Downloads work better and faster than before
  • More colorful, informative output in your terminal
  • Automatic folder organization (saves to Music folder)
  • Clearer feedback when things go wrong

πŸ™ Acknowledgments

This release focuses on fixing critical issues and enhancing the user experience. Special thanks to all contributors who helped make TokySnatcher more reliable and beautiful to use.

v0.4.0

28 Oct 18:31

Choose a tag to compare

Release v0.4.0

This release introduces significant improvements to the download experience, enhanced Windows compatibility, and new command-line features for streamlined automation.

πŸš€ New Features

  • Rich Progress Bars: Implemented beautiful, real-time progress visualization using the Rich library, showing individual chapter progress with time estimates and completion percentages.
  • Direct URL Downloads: Added --url argument to bypass the interactive interface entirely for direct audiobook downloads.
  • Bypassing Search UI: Introduced --search flag to perform searches non-interactively without requiring user input.
  • FFmpeg Integration: Overhauled the download system to use FFmpeg for downloading HLS streams and converting them to high-quality MP3 files, with integrated progress tracking.
  • Multi-threaded Progress Tracking: Enhanced parallel downloading with sophisticated progress monitoring, including status icons (queued ⏳ β†’ running πŸ”„ β†’ done βœ…) and detailed metrics.

πŸ”§ Improvements

  • Enhanced Error Handling: Improved robustness in download operations and user interaction flows.
  • Custom Directory Support: Better handling of custom download directories.
  • Logging Enhancements: More comprehensive logging for better troubleshooting.

πŸ› Bug Fixes

  • Windows Compatibility: Replaced deprecated pick library with questionary and added conditional imports to fix Windows compatibility issues.
  • Search API Fixes: Resolved issues with book search functionality and result pagination.
  • Player URL Update: Adapted to changes in TokyBook's player API endpoint.
  • Dependency Pinning: Fixed questionary version to 2.1.1 to resolve runtime bugs.
  • Race Condition Fix: Resolved critical race condition in progress updates by moving shutdown checks inside lock context to prevent UI corruption during multi-threaded operations.
  • Thread-Safe Shutdown: Fixed shutdown behavior during concurrent downloads with better synchronization prevents state corruption.
  • Progress State Consistency: Eliminated state corruption issues during concurrent operations and shutdown sequences.

πŸ”’ Dependencies & Requirements

  • Added Rich library for enhanced terminal UI
  • Added FFmpeg requirement (must be installed and available in PATH)
  • Updated questionary to version 2.1.1

Breaking Changes: FFmpeg is now required to run TokySnatcher. Users without FFmpeg should install it separately.

πŸ“‹ Compatibility

  • Full backward compatibility with existing usage patterns
  • Windows compatibility restored
  • Maintains support for macOS, Linux, and other Unix-like systems

πŸ™ Acknowledgments

Special thanks to fiendish for contributions to fixing API compatibility issues and improving the overall stability of the application.


For installation and usage instructions, please refer to the README file.

v0.3.2

11 Apr 13:32

Choose a tag to compare

Release v0.3.2

Enhancements

  • Improved Logging: Introduced logging functionality in the main script to provide better debugging and user feedback.
  • Error Handling: Enhanced error handling in the download function to provide more descriptive error messages.

Dependency Updates

  • Upgraded dependencies to their latest versions:
    • json5 from 0.9.28 to 0.12.0
    • questionary from 2.0.1 to 2.1.0
    • tqdm from 4.67.0 to 4.67.1
    • urllib3 from 2.2.3 to 2.4.0

Code Improvements

  • Refactored Main Script:
    • Added structured exception handling for unexpected errors.
    • Enhanced user experience with better action flow and feedback.
  • Updated Python Compatibility: Modified pyproject.toml to extend compatibility to Python versions up to 3.13.3.

Documentation

  • Removed the caution note in the README.md about Python 3.13 not being supported.

You can view the full changes in detail here.

Release v0.3.1

30 Nov 09:51

Choose a tag to compare

Chores

  • Updated dependencies and version:
    • Updated pyproject.toml to specify support for Python versions up to 3.12.7. c16eaac
    • Bump version from 0.3 to 0.1. af796fd
  • Updated README:
    • Added a caution note indicating that Python 3.13 is not supported yet. b99c450
    • Removed the note about converting downloads to m4b format. b99c450
    • Updated usage note to specify default download directory if -d or --directory is not invoked. b99c450
    • Removed the "Thanks to" section. b99c450