Addressed cases where parsing would fail due to empty elements or missing data in BT4G scraper and streaming provider parsers. Enhanced IP validation in network utilities to handle IPv6 formats with ports and brackets accurately. These changes improve robustness and prevent errors in edge scenarios.
This update ensures that the `file_name` always uses its basename for consistency and correctness. Additionally, `quote_plus` was replaced with `quote` to simplify URL encoding
Updated streaming URL structure to include optional filename and episode-specific paths. Adjusted `get_or_create_video_url` and routing logic to handle these new parameters, improving flexibility and clarity in URL generation. Added URL encoding for filenames to ensure compatibility.
Introduced endpoints to check and submit cache statuses for info hashes. Enhanced cache helpers to integrate with MediaFusion Public Host for status retrieval and syncing. Added new schemas and configurations to support these operations.
Enhanced utility functions and streaming provider modules to support the season parameter alongside episode matching. Updated file selection logic to account for both season and episode when determining the correct file from torrents or folders. Also included minor improvements to file handling and recursive folder parsing.
Update Crud functions for new database structure & utlize 10x performance in the catalog data fetchers with new db structure and mongodb indexes. Added support for multi season pack torrents, Updated metadata handling to use a centralized fetching mechanism and improved filters for matching existing entries. Refactored episode processing logic to account for season and episode numbers more flexibly. Enhanced querying pipelines for better performance in catalog and metadata retrieval.
Store UserData in redis if compress + encryption data length is more than 1000, or else directly setup in the url secret string. Replaces legacy encryption and decryption methods with an optimized `CryptoUtils` class supporting compression, improved encryption, and Redis-based storage.
- Updated streaming providers to allow adding torrents by file for webseed and private torrents.
- Implemented functionality to store the content of torrent files.
Add a check to raise an exception if a torrent is still downloading when attempting to delete folder contents. Included a placeholder video file for exception handling use. This ensures ongoing downloads are not interrupted inadvertently.
Added `parsed_data` support for more robust torrent metadata extraction and improved season/episode assignment logic. Refined IMDB integration to handle null ratings and streamline title-year searches. Database index and query filters updated for better flexibility and accuracy.
Replaced custom proxy implementation and `curl-cffi` with unified `httpx` and `aiohttp` proxy support using `requests_proxy_url` config from settings. Simplified and standardized HTTP client instantiations across various modules for improved maintainability and consistency.
* Improve StremThru error handling
* Allow access to http response object
* Add configure time StremThru store name validation
* Store StremThru magnet cache in redis
* Add settings toggle for storing StremThru magnet cache
* Update streaming_providers/debrid_client.py
* Support using public StremThru instance
---------
Co-authored-by: Mohamed Zumair <mhdzumair@gmail.com>
Added early return in utils to handle missing data, preventing unnecessary loop executions. Reorganized error handling in debrid_client to improve readability and maintain logic consistency. These changes aim to enhance performance and code clarity.
Ensure proper handling when no hashes are fetched and filter torrents that are not fully downloaded. Add error handling for "floodDetected" to gracefully manage excessive requests. Modify the request to use JSON payload with asynchronous execution for seedbox additions.
This commit refines the cache update process to only consider downloaded torrents, improving efficiency by avoiding unnecessary cache checks. It also adds error handling for invalid magnet links and introduces a semaphore for deleting torrents to control concurrency, enhancing robustness and reliability in torrent management.