61 Commits

Author SHA1 Message Date
mhdzumair 7e5805f1d5 Fix catalog stats update on contribution streams 2025-03-14 07:33:36 +05:30
mhdzumair 6b827aa4ba refactor: improve season and episode parsing with enhanced regex patterns and fallback logic 2025-03-04 14:55:00 +05:30
mhdzumair dd368ec471 refactor: remove total_streams filter and simplify text index in models to improve searching accuracy 2025-03-02 22:06:42 +05:30
mhdzumair 66f5f4bd92 fix known_file_details issue 2025-02-28 06:57:12 +05:30
mhdzumair f33b30e413 Clear metadata caches on adding new episodes 2025-02-27 19:32:40 +05:30
mhdzumair 5b7c539c99 Clear metadata caches on adding new episodes 2025-02-27 19:27:41 +05:30
mhdzumair ec20feca52 refactor: streamline torrent file selection and metadata update process
Add support for telegram notification when unable to detect episode files, refactor file selection and update db function
2025-02-20 10:13:04 +05:30
mhdzumair 5cfb890302 Refactor catalogs handling for catalog granularity
Replaced flat `catalogs` structure with detailed `catalog_stats` to support per-catalog metadata (e.g., stream counts, last added date). Updated query pipelines, database schema, and index definitions accordingly. Enhanced stream update/delete logic for more granular catalog-level tracking.
2025-02-01 16:32:48 +05:30
mhdzumair 01bb0390b2 Refactor episode handling to support multiple variants of episode files in single torrent 2025-01-22 09:16:02 +05:30
mhdzumair 18c5b5e02b Add uploaded_at field for contribution stream to track 2025-01-20 20:57:34 +05:30
mhdzumair a8e6f90e93 Add support for storing same title imdb content & restrict only mediafusion custom metadata with unique index
Introduce the `is_custom` boolean field to `MediaFusionMetaData` with a default value of `False`. Enhance unique index behavior by adding a partial filter for custom IDs and adjust other indexes for better query support. Include support for setting `is_custom` during metadata creation in CRUD operations.
2025-01-12 00:20:57 +05:30
mhdzumair 7c2c8c98a9 Add new TorrentStream index and update metrics display to view top contribution stream uploaders 2025-01-10 06:47:20 +05:30
mhdzumair e2d1e07086 Add support for MDBList Catalog support 2025-01-05 22:01:13 +05:30
mhdzumair 7dba063632 Refactor metadata update to merge existing and new values 2025-01-01 13:33:14 +05:30
mhdzumair 4a58c846c3 Add support for hdr & uploader tags in stream details 2024-12-30 13:58:59 +05:30
mhdzumair 03297f2b22 Refactor database structure for metadata handling and episode processing.
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.
2024-12-30 13:45:03 +05:30
mhdzumair 70e8d1946b Add support for private, semi-private, and webseed torrent types for prowlarr & jackett & Manual imports; store torrent file content
- Updated streaming providers to allow adding torrents by file for webseed and private torrents.
- Implemented functionality to store the content of torrent files.
2024-12-22 18:21:58 +05:30
mhdzumair 10a6f2e051 Enhance metadata handling and optimize torrent processing
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.
2024-12-22 00:13:31 +05:30
mhdzumair 834132af19 Refactor torrent stream handling for series metadata
Removed unnecessary link fields in models and streamlined creation and organization of torrent streams in store pipelines. Updated the organize_episodes function to fetch streams directly from the database and async functionality for saving episodes back to their respective streams.
2024-11-01 16:41:35 +05:30
mhdzumair ab802cebf8 Avoid modifying streams with filter values & remove storing cached key in db 2024-10-16 16:29:44 +05:30
Mohamed Zumair 52d8956034 Add ScrapeOps monitoring, Add zilean filtered endpoint, Fix Prowlarr scraping with download link & Fix PikPak login error etc (#319)
* Refactor ZileanScraper to use parallel requests for searching and filtering streams with new endpoints

* Fix DLHD scraping & enable DLHD without MediaFlow

* Switch to httpx for async HTTP requests

* Implement caching for PikPak token to reduce login error

* Refactor torrent cleanup logic

* Add inactivity monitor extension to close idle spiders

Introduced `InactivityMonitor` to automatically close spiders that remain inactive for a specified time. This extension checks activity at regular intervals and uses configurable settings for check intervals and inactivity timeouts. If no items are scraped within the timeout period, the spider is closed to free resources.

* Handle TypeError in dynamic sorting of streams

* Refactor torrent info scraper to support pre-processing.

Introduced a pre-processing function mapping to handle specific indexer requirements before parsing the HTML. Added a custom pre-processing function for "TheRARBG" to handle URL adjustments, improving modularity and readability in the `get_torrent_info` function.

* Refine error logging and fix hash key in spider

* Fix Prowlarr not stop on max process limit

* #315: Integrate ScrapeOps logging into all scrapers & spiders

Added ScrapeOps logging to Zilean, Torrentio, Prowlarr, and Prowlarr Feed scrapers to enhance request tracking and error handling. Configured ScrapeOps API key in settings and updated Pipfile/Pipfile.lock with scrapeops-python-requests and scrapeops-scrapy dependencies.

* Refactor scraper cache status handler

* verify torrent before parsing on prowlarr & prioritize magnet on badass_torrents

* Add support for provide locally hosted mediaflow proxy public address and reduce the time leg on private ip address checking

* handle RD exception cases

* do not setup scrapeops when api key is none

* Enhanced dynamic sorting of torrent streams

Revised the dynamic_sort_key function to handle different key types more efficiently with match-case. Simplified error handling and improved logging to capture sorting data in the case of exceptions.

* add missing last update date for metadata

* update domain for nowmesports
2024-10-14 05:58:23 +05:30
Mohamed Zumair 64773baecb Add torrent blocking feature for DMCA (#302) 2024-09-28 09:44:53 +05:30
Mohamed Zumair 709dc25d94 Enhance TV streaming functionality with MPD DRM support, and updated spiders & Bugfixes (#298)
* Refactor stream parsing and handling for DRM and MediaFlow

* Add encryption support for mediaflow url and refactor URL validation

* Enhance LiveTV spider to support MPD and handle new player API logic

* Update TV stream validation and add DRM fields in UI

* Add mediaflow_proxy_required.mp4 exception video

* Add FlareSolverr integration to scrapy spiders

* [WIP] TamilBulb spider to scraper

* Update StreamedSpider to new API and adjust schedulers
2024-09-27 08:13:10 +05:30
Mohamed Zumair cf8ed59012 Added Prowlarr feed scraping & Improve Advanced scraping capability for prowlarr, zilean, torrentio & more bugfixes & improvements (#286)
* Update Python version

* Refactor Redis client

* WIP: Refactor scrapers

* Added Prowlarr feed scraping & Improve Advanced scraping capability for prowlarr, zilean, torrentio & more bugfixes & improvements

* Improve batch_process_with_circuit_breaker implementation to yield an individual task as soon as completed
2024-09-16 08:26:57 +05:30
Mohamed Zumair e502d0f10e Add support for MediaFlow Proxy for Debrid stream & Live stream (#271)
* Add support for MediaFlow Proxy for Debrid stream & Live stream

* Add emoji for mediaflow proxy stream and add error logging
2024-08-29 10:02:01 +05:30
Mohamed Zumair 3ccd1f8a55 Sort & Filter stream languages, quality based on user preference & Reduce userdata size (#250)
* feat: Sort & Filter stream languages, quality based on user preference

* feat: Use field aliases & compress after encrypt user data to reduce the config user data size

* Refactor catalog parsing logic and add CatalogParsePipeline

* Update language handling in stream creation

* update packages

* Update README

* refactor parse torrent streams

* use lru cache for common function

* handle item checking

* address code review

* Update PTT & parse complete language

* cleanup
2024-08-26 22:38:27 +05:30
mhdzumair f19993eb66 Migrate to PTT for parsing torrent titles effectively 2024-07-20 07:15:35 +05:30
mhdzumair 4b926b0535 Add support namespace in Live TV streams to store specific to elfhosted tenants namespace 2024-06-03 13:17:07 +05:30
mhdzumair 24d645a730 feat: Refactor TV stream validation and update logic for schedule function 2024-06-03 07:05:11 +05:30
mhdzumair 5add986b78 chore: Add aka_titles and stars to movie and series metadata creation 2024-05-25 22:40:19 +05:30
mhdzumair 3cfb30689c Add support for store stars of movies & series, Refactor MediaFusionMetaData inheritance hierarchy 2024-05-25 15:36:36 +05:30
mhdzumair 455093f79d feat: Add support for user import data & scraper 2024-05-19 16:52:40 +05:30
mhdzumair ac75f18af9 bugfix genres attribute in Meta 2024-05-12 20:27:34 +05:30
mhdzumair c5ad0a89f3 Add support for parent guide nudity & certificate filters & various improvments to crud functions 2024-05-06 00:16:46 +05:30
mhdzumair f942e1ff04 Remove tamilmv live search scraping search results storing 2024-04-13 21:51:32 +05:30
mhdzumair 945fcb9970 filter sports events by start time & added to scraper 2024-03-29 21:51:22 +05:30
mhdzumair a0486cd642 Add streamed sport events scrapy support 2024-03-28 22:57:14 +05:30
mhdzumair af3da0731d Add support for m3u playlist import option in scraper manager 2024-03-26 14:21:03 +05:30
mhdzumair cc55bd5330 Add title to sport event posters 2024-03-24 00:48:15 +05:30
mhdzumair eef6bc992c Add sport-video scrapy support 2024-03-18 23:10:55 +05:30
mhdzumair f04d537ee2 Add tamilultra scrapy & add support for trigger scrapers & consolidate apscheduler, background worker & bugfixes 2024-03-17 17:41:03 +05:30
mhdzumair 848f2b55db Migrate mhdtvplay scraping with scrapy & refactorings 2024-03-10 23:38:20 +05:30
mhdzumair 2a04c5f4fe Add FormulaParserPipeline to parse uploader specific content after web scraping and other bug fixes & improvments 2024-02-29 02:59:40 +05:30
mhdzumair 9b2f663516 #127 Add Scrapy and Formula Racing support 2024-02-26 17:02:04 +05:30
mhdzumair 3b1b757a21 Fix handling of None values in sort key 2024-02-24 00:33:09 +05:30
mhdzumair 4aec3cfee0 Add resolution based stream sorting 2024-02-23 23:30:51 +05:30
mhdzumair 6900d013e7 Refactor caching and retrieval of torrent streams 2024-02-16 11:47:06 +05:30
mhdzumair ac569b2b4b Merge branch 'develop' of github.com:mhdzumair/MediaFusion into pr/ragmehos/95 2024-01-30 23:52:03 +05:30
mhdzumair ac2ab7d218 Add support for scraping series from torrentio 2024-01-30 13:04:35 +05:30
Rag 91fbb46d7d Prowlarr integration 2024-01-29 13:08:38 -05:00