youtube_dl_parser/state/parsed_state/
youtube_state.rs1pub enum YoutubeState {
3 Initiating,
4 ParseError(String),
5}
6
7impl YoutubeState {
8 pub fn parse<'a>(mut split: impl DoubleEndedIterator<Item = &'a str> + Send) -> YoutubeState {
9 let Some(skipped)= split.next() else {return YoutubeState::ParseError("Unable to parse youtube state".to_owned())};
10 let remaining = split.collect::<Vec<&str>>().join(" ");
11 if remaining == "Downloading webpage" {
12 YoutubeState::Initiating
13 } else {
14 YoutubeState::ParseError(format!("{skipped} {remaining}"))
15 }
16 }
17}