1use crate::util::get_attr;
2use quick_xml::events::BytesStart;
3
4#[derive(Clone, Debug, Default)]
5#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
6pub struct ReleaseLabel {
7 pub id: u32,
8 pub name: String,
9 pub catno: Option<String>,
10 pub entity_type: u8,
11 pub entity_type_name: String,
12}
13
14#[derive(Clone, Debug, Default)]
15#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
16pub struct Image {
17 pub r#type: String,
18 pub uri: String,
19 pub uri150: String,
20 pub width: i16,
21 pub height: i16,
22}
23
24impl Image {
25 pub fn from_event(ev: BytesStart) -> Self {
26 let mut attrs = ev.attributes();
27 Image {
28 r#type: get_attr(attrs.next()).to_string(),
29 uri: get_attr(attrs.next()).to_string(),
30 uri150: get_attr(attrs.next()).to_string(),
31 width: get_attr(attrs.next()).parse().unwrap(),
32 height: get_attr(attrs.next()).parse().unwrap(),
33 }
34 }
35}