id3_cli/text_data/
picture.rs

1use crate::text_data::picture_type::PictureTypeExtra;
2use id3::frame::Picture as Id3Picture;
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
6pub struct Picture {
7    pub mime_type: String,
8    pub picture_type: PictureTypeExtra,
9    pub description: String,
10    pub size: usize,
11}
12
13impl Picture {
14    pub fn from_id3_ref(source: &Id3Picture) -> Self {
15        let Id3Picture {
16            mime_type,
17            picture_type,
18            description,
19            data,
20        } = source;
21        let mime_type = mime_type.to_string();
22        let picture_type = (*picture_type).into();
23        let description = description.to_string();
24        let size = data.len();
25        Picture {
26            mime_type,
27            picture_type,
28            description,
29            size,
30        }
31    }
32}