Releases: rahaaatul/TokySnatcher
Release v0.3.0
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
titlesandurlslists. - Added "π Search again" and "β Exit" options to the
titlesandurlslists. - Implemented caching of previously visited pages to avoid re-fetching them.
Refactors
- Improved main script structure and error handling:
- Renamed
clsfunction toclear_terminalfor better readability (unused). - Moved
choicesinside themainfunction to limit its scope. - Added
sysimport for handling script exit. - Improved error handling by checking if
selected_actionisNoneand exiting gracefully. - Wrapped
mainfunction call in atryblock to handleKeyboardInterruptand exit gracefully. - Renamed variables for clarity:
optionstoactionsandrestoresult.
- Renamed
- Improved chapter fetching and error handling:
- Renamed variable
craptoscriptfor better readability. - Added a check to ensure
stringis notNonebefore proceeding. - Simplified
download_folderassignment using a conditional expression. - Added logging for cases where no tracks are found in the provided URL.
- General cleanup and improved readability.
- Renamed variable
- Improved search module structure and error handling:
- Combined
if not_foundandif not_found.text == "Nothing Found"into a single condition. - Added a check to ensure
resultsis 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.
- Combined
Chores
- Updated dependencies and version:
- Bump version from
0.2to0.3. - Updated dependencies:
- json5 from
0.9.10to0.9.28 - pick from
2.3.2to2.4.0 - requests from
2.27.1to2.32.3 - tqdm from
4.64.0to4.67.0 - urllib3 from
1.26.8to2.2.3
- json5 from
- Maintained other dependencies at current versions.
- Bump version from
β€οΈ Big thanks to Copilot
Release v0.2.0
What's Changed
- Notable Changes + Introduction of Command line arguments and also... by @rahaaatul in #3
New Contributors
- @rahaaatul made their first contribution in #3
Full Changelog: v1.0...v1.
Release v0.1.0
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
β¨ 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
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
--urlargument to bypass the interactive interface entirely for direct audiobook downloads. - Bypassing Search UI: Introduced
--searchflag 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
picklibrary withquestionaryand 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
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
downloadfunction to provide more descriptive error messages.
Dependency Updates
- Upgraded dependencies to their latest versions:
json5from0.9.28to0.12.0questionaryfrom2.0.1to2.1.0tqdmfrom4.67.0to4.67.1urllib3from2.2.3to2.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.tomlto extend compatibility to Python versions up to3.13.3.
Documentation
- Removed the caution note in the
README.mdabout Python 3.13 not being supported.
You can view the full changes in detail here.
Release v0.3.1
Chores
- Updated dependencies and version:
- Updated README: