youtube_dl_parser/state/parsed_state/
deleting_state.rs

1/// Occurs when a temporary file is being deleted
2pub 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}