youtube_dl_parser/state/parsed_state/
deleting_state.rs1pub enum DeletingState {
3 DeletingTemporaryFile(String),
4 ParseError(String),
5}
6
7impl DeletingState {
8 pub fn parse<'a>(mut split: impl DoubleEndedIterator<Item = &'a str> + Send) -> DeletingState {
9 let Some(next)=split.next() else { return DeletingState::ParseError( "Deleting parse error".to_owned())};
10 if next != "original" {
11 return DeletingState::ParseError("Deleting parse error".to_owned());
12 }
13 let Some(next)=split.next() else { return DeletingState::ParseError( "Deleting parse error".to_owned())};
14 if next != "file" {
15 return DeletingState::ParseError("Deleting parse error".to_owned());
16 }
17 split.next_back();
18 split.next_back();
19 split.next_back();
20 split.next_back();
21 let remaining = split.collect::<Vec<&str>>().join(" ");
22 DeletingState::DeletingTemporaryFile(remaining)
23 }
24}