summaryrefslogtreecommitdiff
path: root/vendored/mpd/src/sticker.rs
blob: b1a2dc316d0b740e4d36fbdb0cf8a582442e3e30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use crate::error::ParseError;
use std::str::FromStr;

pub struct Sticker {
    pub name: String,
    pub value: String,
}

impl FromStr for Sticker {
    type Err = ParseError;
    fn from_str(s: &str) -> Result<Sticker, ParseError> {
        let mut parts = s.splitn(2, '=');
        match (parts.next(), parts.next()) {
            (Some(name), Some(value)) => {
                Ok(Sticker {
                       name: name.to_owned(),
                       value: value.to_owned(),
                   })
            }
            _ => Err(ParseError::BadValue(s.to_owned())),
        }
    }
}