This commit adds the pmocache dependency to support enhanced caching functionality and updates the cache implementation to use the new cache routing system. It also includes logging improvements for cover fetching operations.
91 lines
2.4 KiB
TOML
91 lines
2.4 KiB
TOML
[package]
|
|
name = "pmoradiofrance"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["PMOMusic Contributors"]
|
|
description = "Rust client for Radio France streaming services"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/yourusername/pmomusic"
|
|
keywords = ["radio", "france", "streaming", "music", "aac"]
|
|
categories = ["multimedia", "api-bindings"]
|
|
|
|
[dependencies]
|
|
# HTTP client for Radio France API requests
|
|
reqwest = { version = "0.12", features = ["json"] }
|
|
|
|
# Async runtime
|
|
tokio = { workspace = true }
|
|
|
|
# Serialization/Deserialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_yaml = { workspace = true }
|
|
|
|
# Helpers
|
|
chrono = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
|
|
# Logging
|
|
tracing = { workspace = true }
|
|
|
|
# URL manipulation
|
|
url = "2.5"
|
|
|
|
# HTML scraping for station discovery
|
|
scraper = "0.22"
|
|
regex = "1.11"
|
|
|
|
# Common music source traits
|
|
pmosource = { path = "../pmosource" }
|
|
|
|
# DIDL-Lite structures (for playlist support)
|
|
pmodidl = { path = "../pmodidl", optional = true }
|
|
|
|
# Configuration support
|
|
pmoconfig = { path = "../pmoconfig", optional = true }
|
|
|
|
# Cache support
|
|
pmocache = { path = "../pmocache", optional = true }
|
|
pmocovers = { path = "../pmocovers", optional = true }
|
|
pmoaudiocache = { path = "../pmoaudiocache", optional = true }
|
|
|
|
# Playlist management for FIFO support
|
|
pmoplaylist = { path = "../pmoplaylist", optional = true }
|
|
|
|
# Server integration (optional)
|
|
pmoserver = { path = "../pmoserver", optional = true }
|
|
pmoupnp = { path = "../pmoupnp", optional = true }
|
|
axum = { workspace = true, optional = true }
|
|
futures = { workspace = true, optional = true }
|
|
|
|
[features]
|
|
default = ["pmoconfig"]
|
|
# Feature for pmoconfig support
|
|
pmoconfig = ["dep:pmoconfig"]
|
|
# Feature for cache support
|
|
cache = ["dep:pmocache", "dep:pmocovers", "dep:pmoaudiocache"]
|
|
# Feature for playlist/FIFO support
|
|
playlist = ["dep:pmoplaylist", "dep:pmodidl"]
|
|
# Feature for logging (tracing)
|
|
logging = []
|
|
# Feature for server support (MusicSource + HTTP API routes)
|
|
server = ["pmosource/server", "pmoconfig", "cache", "playlist", "dep:pmoserver", "dep:pmoupnp", "dep:axum", "dep:futures"]
|
|
# Full feature set
|
|
full = ["server", "logging"]
|
|
|
|
[dev-dependencies]
|
|
tokio-test = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
[[example]]
|
|
name = "discover_stations"
|
|
path = "examples/discover_stations.rs"
|
|
|
|
[[example]]
|
|
name = "live_metadata"
|
|
path = "examples/live_metadata.rs"
|