id3_cli/text_data/
picture.rs1use 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}