euzu
|
873235d8f3
|
- Fixed Sort
- Added cluster to favourites
- Added Regex cache to avoid multiple compilations of same regex
|
2026-01-13 16:37:27 +01:00 |
|
euzu
|
eb087825d5
|
Inputs in source.yml
|
2026-01-03 18:06:25 +01:00 |
|
euzu
|
53723d3015
|
Merge commit '7bb8a0c4f1a65a542bd3fae716fcb4236461072a' into feature/provider_api
|
2025-12-19 18:30:07 +01:00 |
|
knylbyte
|
7b2dd5be14
|
feat: added support for panel api
|
2025-12-16 23:03:24 +01:00 |
|
euzu
|
2f32f1ece1
|
Local media library
|
2025-12-15 17:54:19 +01:00 |
|
 moeandClaude Sonnet 4.5
|
d481303e57
|
feat: Add Local VOD (Video-on-Demand) Module
Implements comprehensive local video file scanning and metadata management:
Core Features:
- Recursive directory scanning with tokio::fs async operations
- Automatic classification (Movies vs TV Series) using regex patterns
- Multi-source metadata resolution (NFO → TMDB → filename parsing)
- JSON-based metadata storage with UUID tracking
- Virtual ID management (incremental, stable across scans)
- TMDB API integration with rate limiting (250ms default)
- NFO file reading/writing (Kodi/Jellyfin/Emby/Plex compatible)
- Incremental scanning (only processes changed files)
- Orphaned entry cleanup
Components Added:
- backend/src/vod/scanner.rs - Async file scanner
- backend/src/vod/classifier.rs - Movie/Series classification
- backend/src/vod/metadata.rs - Metadata models
- backend/src/vod/nfo_reader.rs - NFO parser
- backend/src/vod/tmdb_client.rs - TMDB API client
- backend/src/vod/metadata_storage.rs - JSON storage layer
- backend/src/vod/metadata_resolver.rs - Metadata orchestration
- backend/src/vod/processor.rs - Main processing pipeline
API Endpoints:
- POST /api/v1/vod/scan - Trigger VOD scan
- GET /api/v1/vod/status - Get VOD status
- GET /api/v1/vod/item/:id - Get VOD item by virtual ID
CLI Integration:
- --scan-vod - Scan VOD directories
- --force-vod-rescan - Force full rescan
Configuration:
- config/vod.yml.example - Example configuration
- New InputType::LocalVod in source.yml
Technical Details:
- Uses OnceLock for regex caching (no lazy_static needed)
- Arc-swap pattern for lock-free config updates
- Comprehensive unit tests
- ~3,200 lines of new code
- Zero new dependencies added
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2025-12-10 07:51:06 +01:00 |
|
euzu
|
3c3c8df763
|
Added GeoIp config and update button to WebUI
Integrated GeoIp to stream Table
Fixed some HdHomerun issues
|
2025-10-28 18:42:09 +01:00 |
|
euzu
|
c3f7912b41
|
Channel favourites
|
2025-10-23 18:26:25 +02:00 |
|
euzu
|
65bfd4f1dc
|
Sort user table by status
|
2025-08-28 15:10:23 +02:00 |
|
euzu
|
b3e7e2cd89
|
Playlist update added to web ui
|
2025-08-03 10:24:23 +02:00 |
|
euzu
|
1e3fa841f0
|
added provider channel browser
added toastr service
|
2025-08-01 21:03:50 +02:00 |
|
euzu
|
2799057d90
|
input alias reading for dto
|
2025-07-14 13:44:50 +02:00 |
|
euzu
|
c0eccb68ab
|
config refactoring
|
2025-06-24 17:34:09 +02:00 |
|
euzu
|
f38d4e32b3
|
input check updated
|
2025-06-24 12:22:11 +02:00 |
|
euzu
|
c292f0b73e
|
config refactor
|
2025-06-24 11:25:42 +02:00 |
|
euzu
|
3cf00a809f
|
api_proxy refactored
|
2025-06-19 17:20:36 +02:00 |
|
euzu
|
c0f293c99a
|
backend config refactored
|
2025-06-19 17:09:09 +02:00 |
|
euzu
|
7f54327bfd
|
config added to shared model
|
2025-06-19 16:37:37 +02:00 |
|