mirror of
https://github.com/euzu/tuliprox.git
synced 2026-10-06 16:02:36 +02:00
31 lines
1.2 KiB
Rust
31 lines
1.2 KiB
Rust
//! The playlist processing pipeline.
|
|
//!
|
|
//! One target at a time: fetch each configured input, parse it, apply mappings
|
|
//! and filters, deduplicate, sort, resolve series and VOD detail, acquire EPG,
|
|
//! and hand the result to the repository.
|
|
//!
|
|
//! Everything here runs on a `PlaylistProcessingContext` rather than the
|
|
//! server's root state, which is what lets the pipeline live outside the
|
|
//! binary.
|
|
|
|
// Auto-trait resolution for this crate's deeply nested async call chains
|
|
// exceeds the default 128-step recursion limit. Without this, rustc emits
|
|
// `recursion_depth_exceeding_limit`, which is on its way to becoming a hard
|
|
// error (rust-lang/rust#159228).
|
|
#![recursion_limit = "256"]
|
|
|
|
// EPG acquisition for a configured input. It needs a `PlaylistProcessingContext`
|
|
// and repository storage paths, so it belongs on this side of the boundary -
|
|
// living in `utils` made that module depend on both layers above it.
|
|
// Wraps a `PlaylistSource` and a `TVGuide` for the duration of one fetch.
|
|
// Both halves are pipeline concerns, which is why it could not stay in the
|
|
// storage layer.
|
|
pub mod epg;
|
|
pub mod fetched_playlist;
|
|
pub mod geoip;
|
|
pub mod input_cache;
|
|
pub mod metadata_sink;
|
|
pub mod parser;
|
|
pub mod playlist_watch;
|
|
pub mod processor;
|