aboutsummaryrefslogtreecommitdiff
path: root/import/src/musicbrainz.rs
diff options
context:
space:
mode:
Diffstat (limited to 'import/src/musicbrainz.rs')
-rw-r--r--import/src/musicbrainz.rs27
1 files changed, 13 insertions, 14 deletions
diff --git a/import/src/musicbrainz.rs b/import/src/musicbrainz.rs
index 612c4ba..e4f38da 100644
--- a/import/src/musicbrainz.rs
+++ b/import/src/musicbrainz.rs
@@ -6,14 +6,13 @@
use crate::USER_AGENT;
use anyhow::{Context, Result};
-use bincode::{Decode, Encode};
use jellycache::async_cache_memory;
use log::info;
use reqwest::{
header::{HeaderMap, HeaderName, HeaderValue},
Client, ClientBuilder,
};
-use serde::Deserialize;
+use serde::{Deserialize, Serialize};
use std::{collections::BTreeMap, sync::Arc, time::Duration};
use tokio::{
sync::Semaphore,
@@ -40,7 +39,7 @@ pub struct MusicBrainz {
rate_limit: Arc<Semaphore>,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbRecordingRel {
pub id: String,
@@ -54,7 +53,7 @@ pub struct MbRecordingRel {
pub artist_credit: Vec<MbArtistCredit>,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbArtistRel {
pub id: String,
@@ -72,14 +71,14 @@ pub struct MbArtistRel {
pub relations: Vec<MbRelation>,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbArtistCredit {
pub name: String,
pub artist: MbArtist,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbRelation {
pub direction: String,
@@ -103,7 +102,7 @@ pub struct MbRelation {
pub event: Option<MbEvent>,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbSeries {
pub id: String,
@@ -113,7 +112,7 @@ pub struct MbSeries {
pub disambiguation: String,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbRecording {
pub id: String,
@@ -127,7 +126,7 @@ pub struct MbRecording {
pub artist_credit: Vec<MbArtistCredit>,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbWork {
pub id: String,
@@ -141,7 +140,7 @@ pub struct MbWork {
pub disambiguation: String,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbEvent {
pub id: String,
@@ -154,7 +153,7 @@ pub struct MbEvent {
pub life_span: MbTimespan,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbArtist {
pub id: String,
@@ -166,7 +165,7 @@ pub struct MbArtist {
pub sort_name: String,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbTimespan {
pub begin: Option<String>,
@@ -174,7 +173,7 @@ pub struct MbTimespan {
pub ended: bool,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbArea {
pub name: String,
@@ -185,7 +184,7 @@ pub struct MbArea {
pub disambiguation: String,
}
-#[derive(Debug, Deserialize, Encode, Decode)]
+#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub struct MbUrl {
pub id: String,