mirror of
https://github.com/alexpasmantier/television.git
synced 2025-06-07 12:05:34 +00:00
fix(cable): cable channels now take precedence over builtins for the cli / shell integration
This commit is contained in:
parent
1934d3f03f
commit
8f66997c48
@ -178,17 +178,19 @@ pub enum ParsedCliChannel {
|
|||||||
|
|
||||||
fn parse_channel(channel: &str) -> Result<ParsedCliChannel> {
|
fn parse_channel(channel: &str) -> Result<ParsedCliChannel> {
|
||||||
let cable_channels = cable::load_cable_channels().unwrap_or_default();
|
let cable_channels = cable::load_cable_channels().unwrap_or_default();
|
||||||
CliTvChannel::try_from(channel)
|
// try to parse the channel as a cable channel
|
||||||
.map(ParsedCliChannel::Builtin)
|
cable_channels
|
||||||
.or_else(|_| {
|
.iter()
|
||||||
cable_channels
|
.find(|(k, _)| k.to_lowercase() == channel)
|
||||||
.iter()
|
.map_or_else(
|
||||||
.find(|(k, _)| k.to_lowercase() == channel)
|
|| {
|
||||||
.map_or_else(
|
// try to parse the channel as a builtin channel
|
||||||
|| Err(eyre!("Unknown channel: {}", channel)),
|
CliTvChannel::try_from(channel)
|
||||||
|(_, v)| Ok(ParsedCliChannel::Cable(v.clone())),
|
.map(ParsedCliChannel::Builtin)
|
||||||
)
|
.map_err(|_| eyre!("Unknown channel: {}", channel))
|
||||||
})
|
},
|
||||||
|
|(_, v)| Ok(ParsedCliChannel::Cable(v.clone())),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn list_cable_channels() -> Vec<String> {
|
pub fn list_cable_channels() -> Vec<String> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user