aboutsummaryrefslogtreecommitdiff
path: root/import/src/plugins
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-07 23:28:45 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-07 23:28:45 +0100
commit9d1e1772c02032f70b6db584dddae8fd06b490d6 (patch)
tree9d97b4d3e1252c4b99f30a19f339700eaab44c45 /import/src/plugins
parentd1b7691adb7c40bf21053d324fdac16c544cd536 (diff)
downloadjellything-9d1e1772c02032f70b6db584dddae8fd06b490d6.tar
jellything-9d1e1772c02032f70b6db584dddae8fd06b490d6.tar.bz2
jellything-9d1e1772c02032f70b6db584dddae8fd06b490d6.tar.zst
manual clippy
Diffstat (limited to 'import/src/plugins')
-rw-r--r--import/src/plugins/acoustid.rs4
-rw-r--r--import/src/plugins/infojson.rs12
-rw-r--r--import/src/plugins/media_info.rs2
-rw-r--r--import/src/plugins/misc.rs30
-rw-r--r--import/src/plugins/mod.rs9
-rw-r--r--import/src/plugins/musicbrainz.rs2
-rw-r--r--import/src/plugins/tags.rs9
-rw-r--r--import/src/plugins/tmdb.rs18
-rw-r--r--import/src/plugins/trakt.rs18
-rw-r--r--import/src/plugins/vgmdb.rs8
-rw-r--r--import/src/plugins/wikidata.rs22
11 files changed, 65 insertions, 69 deletions
diff --git a/import/src/plugins/acoustid.rs b/import/src/plugins/acoustid.rs
index caeeea5..07abb45 100644
--- a/import/src/plugins/acoustid.rs
+++ b/import/src/plugins/acoustid.rs
@@ -181,13 +181,13 @@ impl ImportPlugin for AcoustID {
let duration = (seg.info.duration.unwrap_or_default() * seg.info.timestamp_scale as f64)
/ 1_000_000_000.;
- if duration > 600. || duration < 10. {
+ if !(10. ..=600.).contains(&duration) {
return Ok(());
}
let fp = acoustid_fingerprint(&ct.ic.cache, path)?;
- let Some((atid, mbid)) = self.get_atid_mbid(&ct.ic.cache, &fp, &ct.rt)? else {
+ let Some((atid, mbid)) = self.get_atid_mbid(&ct.ic.cache, &fp, ct.rt)? else {
return Ok(());
};
diff --git a/import/src/plugins/infojson.rs b/import/src/plugins/infojson.rs
index dfa5279..ab50171 100644
--- a/import/src/plugins/infojson.rs
+++ b/import/src/plugins/infojson.rs
@@ -185,16 +185,16 @@ impl ImportPlugin for Infojson {
node = node.insert_s(ct.is, NO_TITLE, title);
if let Some(cid) = &data.channel_id {
node = node.update(NO_IDENTIFIERS, |ids| {
- ids.insert_s(ct.is, IDENT_YOUTUBE_CHANNEL, &cid)
+ ids.insert_s(ct.is, IDENT_YOUTUBE_CHANNEL, cid)
});
}
if let Some(uid) = &data.uploader_id {
node = node.update(NO_IDENTIFIERS, |ids| {
- ids.insert_s(ct.is, IDENT_YOUTUBE_CHANNEL_HANDLE, &uid)
+ ids.insert_s(ct.is, IDENT_YOUTUBE_CHANNEL_HANDLE, uid)
})
}
if let Some(desc) = &data.description {
- node = node.insert_s(ct.is, NO_DESCRIPTION, &desc);
+ node = node.insert_s(ct.is, NO_DESCRIPTION, desc);
}
if let Some(followers) = data.channel_follower_count {
node = node.update(NO_RATINGS, |rat| {
@@ -248,15 +248,15 @@ impl ImportPlugin for Infojson {
&& title != &infojson.title
&& !node.has(NO_SUBTITLE.0)
{
- node = node.insert_s(ct.is, NO_SUBTITLE, &title);
+ node = node.insert_s(ct.is, NO_SUBTITLE, title);
}
if let Some(up) = &infojson.uploader
&& !node.has(NO_SUBTITLE.0)
{
- node = node.insert_s(ct.is, NO_SUBTITLE, &clean_uploader_name(&up));
+ node = node.insert_s(ct.is, NO_SUBTITLE, clean_uploader_name(up));
}
if let Some(desc) = &infojson.description {
- node = node.insert_s(ct.is, NO_DESCRIPTION, &desc);
+ node = node.insert_s(ct.is, NO_DESCRIPTION, desc);
}
if let Some(tag) = infojson.tags.clone() {
node = node.extend(NO_TAG, tag.iter().map(String::as_str));
diff --git a/import/src/plugins/media_info.rs b/import/src/plugins/media_info.rs
index 5daa3ba..780af45 100644
--- a/import/src/plugins/media_info.rs
+++ b/import/src/plugins/media_info.rs
@@ -92,7 +92,7 @@ impl ImportPlugin for MediaInfo {
if let Some(end) = cha.time_end {
chapter.push(CH_END, end as f64 * 1e-9);
}
- if let Some(display) = cha.displays.iter().next() {
+ if let Some(display) = cha.displays.first() {
chapter.push(CH_NAME, &display.string);
}
chapter.finish()
diff --git a/import/src/plugins/misc.rs b/import/src/plugins/misc.rs
index db9a8ab..283a1b6 100644
--- a/import/src/plugins/misc.rs
+++ b/import/src/plugins/misc.rs
@@ -183,22 +183,22 @@ impl ImportPlugin for EpisodeIndex {
}
fn media(&self, ct: &PluginContext, node: RowNum, path: &Path, _seg: &Segment) -> Result<()> {
let filename = path.file_name().unwrap().to_string_lossy();
- if let Some(cap) = RE_EPISODE_FILENAME.captures(&filename) {
- if let Some(episode) = cap.name("episode").map(|m| m.as_str()) {
- let season = cap.name("season").map(|m| m.as_str());
- let episode = episode.parse::<u64>().context("parse episode num")?;
- let season = season
- .unwrap_or("1")
- .parse::<u64>()
- .context("parse season num")?;
+ if let Some(cap) = RE_EPISODE_FILENAME.captures(&filename)
+ && let Some(episode) = cap.name("episode").map(|m| m.as_str())
+ {
+ let season = cap.name("season").map(|m| m.as_str());
+ let episode = episode.parse::<u64>().context("parse episode num")?;
+ let season = season
+ .unwrap_or("1")
+ .parse::<u64>()
+ .context("parse season num")?;
- ct.ic.update_node(node, |mut node| {
- node = node.insert_s(ct.is, NO_SEASON_INDEX, season);
- node = node.insert_s(ct.is, NO_INDEX, episode);
- node = node.insert_s(ct.is, NO_KIND, KIND_EPISODE);
- node
- })?;
- }
+ ct.ic.update_node(node, |mut node| {
+ node = node.insert_s(ct.is, NO_SEASON_INDEX, season);
+ node = node.insert_s(ct.is, NO_INDEX, episode);
+ node = node.insert_s(ct.is, NO_KIND, KIND_EPISODE);
+ node
+ })?;
}
Ok(())
}
diff --git a/import/src/plugins/mod.rs b/import/src/plugins/mod.rs
index 8fd1e67..cebe30e 100644
--- a/import/src/plugins/mod.rs
+++ b/import/src/plugins/mod.rs
@@ -61,6 +61,7 @@ pub trait ImportPlugin: Send + Sync {
}
}
+#[allow(clippy::vec_init_then_push)]
pub fn init_plugins(secrets: &ApiSecrets) -> Vec<Box<dyn ImportPlugin>> {
let mut plugins = Vec::<Box<dyn ImportPlugin>>::new();
@@ -73,16 +74,16 @@ pub fn init_plugins(secrets: &ApiSecrets) -> Vec<Box<dyn ImportPlugin>> {
plugins.push(Box::new(media_info::MediaInfo));
plugins.push(Box::new(infojson::Infojson));
if let Some(api_key) = &secrets.trakt {
- plugins.push(Box::new(trakt::Trakt::new(&api_key)));
+ plugins.push(Box::new(trakt::Trakt::new(api_key)));
}
if let Some(api_key) = &secrets.tmdb {
- plugins.push(Box::new(tmdb::Tmdb::new(&api_key))); // deps: trakt
+ plugins.push(Box::new(tmdb::Tmdb::new(api_key))); // deps: trakt
}
if let Some(api_key) = &secrets.omdb {
- plugins.push(Box::new(omdb::Omdb::new(&api_key))); // deps: trakt
+ plugins.push(Box::new(omdb::Omdb::new(api_key))); // deps: trakt
}
if let Some(api_key) = &secrets.acoustid {
- plugins.push(Box::new(acoustid::AcoustID::new(&api_key)));
+ plugins.push(Box::new(acoustid::AcoustID::new(api_key)));
}
plugins.push(Box::new(musicbrainz::MusicBrainz::new())); // deps: acoustid
plugins.push(Box::new(wikidata::Wikidata::new())); // deps: musicbrainz
diff --git a/import/src/plugins/musicbrainz.rs b/import/src/plugins/musicbrainz.rs
index deed38b..3b9a156 100644
--- a/import/src/plugins/musicbrainz.rs
+++ b/import/src/plugins/musicbrainz.rs
@@ -357,7 +357,6 @@ impl ImportPlugin for MusicBrainz {
impl MusicBrainz {
fn process_recording(&self, ct: &PluginContext, node_row: RowNum) -> Result<()> {
let data = ct.ic.get_node(node_row)?.unwrap();
- let data = data;
let Some(mbid) = data
.get(NO_IDENTIFIERS)
@@ -425,7 +424,6 @@ impl MusicBrainz {
fn process_artist(&self, ct: &PluginContext, node_row: RowNum) -> Result<()> {
let data = ct.ic.get_node(node_row)?.unwrap();
- let data = data;
let Some(mbid) = data
.get(NO_IDENTIFIERS)
diff --git a/import/src/plugins/tags.rs b/import/src/plugins/tags.rs
index 901bcc6..be3b262 100644
--- a/import/src/plugins/tags.rs
+++ b/import/src/plugins/tags.rs
@@ -44,9 +44,9 @@ impl ImportPlugin for Tags {
for (key, value) in &tags {
match key.as_str() {
"DESCRIPTION" | "SYNOPSIS" => {
- node = node.insert_s(ct.is, NO_DESCRIPTION, &value)
+ node = node.insert_s(ct.is, NO_DESCRIPTION, value)
}
- "COMMENT" => node = node.insert(NO_TAGLINE, &value),
+ "COMMENT" => node = node.insert(NO_TAGLINE, value),
"CONTENT_TYPE" => {
node = node.insert_s(
ct.is,
@@ -69,9 +69,8 @@ impl ImportPlugin for Tags {
"BARCODE" => IDENT_BARCODE,
_ => continue,
};
- node = node.update(NO_IDENTIFIERS, |idents| {
- idents.insert_s(ct.is, idty, &value)
- });
+ node = node
+ .update(NO_IDENTIFIERS, |idents| idents.insert_s(ct.is, idty, value));
}
}
}
diff --git a/import/src/plugins/tmdb.rs b/import/src/plugins/tmdb.rs
index 832e240..6e496d1 100644
--- a/import/src/plugins/tmdb.rs
+++ b/import/src/plugins/tmdb.rs
@@ -217,13 +217,13 @@ impl Tmdb {
let backdrop = details
.backdrop_path
.as_ref()
- .map(|path| self.image(&ct.ic.cache, &path, ct.rt))
+ .map(|path| self.image(&ct.ic.cache, path, ct.rt))
.transpose()
.context("backdrop image")?;
let poster = details
.poster_path
.as_ref()
- .map(|path| self.image(&ct.ic.cache, &path, ct.rt))
+ .map(|path| self.image(&ct.ic.cache, path, ct.rt))
.transpose()
.context("poster image")?;
@@ -236,21 +236,21 @@ impl Tmdb {
ct.ic.update_node(node, |mut node| {
if let Some(title) = &details.title {
- node = node.insert_s(ct.is, NO_TITLE, &title);
+ node = node.insert_s(ct.is, NO_TITLE, title);
}
if let Some(tagline) = &details.tagline {
- node = node.insert_s(ct.is, NO_TAGLINE, &tagline);
+ node = node.insert_s(ct.is, NO_TAGLINE, tagline);
}
node = node.insert_s(ct.is, NO_DESCRIPTION, &details.overview);
node = node.update(NO_RATINGS, |rat| {
rat.insert_s(ct.is, RTYP_TMDB, details.vote_average)
});
if let Some(poster) = &poster {
- node = node.update(NO_PICTURES, |rat| rat.insert_s(ct.is, PICT_COVER, &poster));
+ node = node.update(NO_PICTURES, |rat| rat.insert_s(ct.is, PICT_COVER, poster));
}
if let Some(backdrop) = &backdrop {
node = node.update(NO_PICTURES, |rat| {
- rat.insert_s(ct.is, PICT_BACKDROP, &backdrop)
+ rat.insert_s(ct.is, PICT_BACKDROP, backdrop)
});
}
if let Some(releasedate) = release_date {
@@ -262,7 +262,6 @@ impl Tmdb {
}
fn process_episode(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let data = ct.ic.get_node(node)?.unwrap();
- let data = data;
let (Some(episode), Some(season)) = (data.get(NO_INDEX), data.get(NO_SEASON_INDEX)) else {
return Ok(());
@@ -289,7 +288,7 @@ impl Tmdb {
let cover = details
.still_path
.as_ref()
- .map(|path| self.image(&ct.ic.cache, &path, ct.rt))
+ .map(|path| self.image(&ct.ic.cache, path, ct.rt))
.transpose()
.context("still image download")?;
let release_date = parse_release_date(&details.air_date)?;
@@ -304,7 +303,7 @@ impl Tmdb {
});
if let Some(cover) = &cover {
node = node.update(NO_PICTURES, |picts| {
- picts.insert_s(ct.is, PICT_COVER, &cover)
+ picts.insert_s(ct.is, PICT_COVER, cover)
});
}
node
@@ -313,7 +312,6 @@ impl Tmdb {
fn process_person(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let data = ct.ic.get_node(node)?.unwrap();
- let data = data;
let Some(id) = data
.get(NO_IDENTIFIERS)
diff --git a/import/src/plugins/trakt.rs b/import/src/plugins/trakt.rs
index 9c5786c..9fe25e6 100644
--- a/import/src/plugins/trakt.rs
+++ b/import/src/plugins/trakt.rs
@@ -473,29 +473,29 @@ impl Trakt {
node = node.insert_s(ct.is, NO_KIND, trakt_kind.as_node_kind());
node = node.insert_s(ct.is, NO_TITLE, &details.title);
if let Some(overview) = &details.overview {
- node = node.insert_s(ct.is, NO_DESCRIPTION, &overview);
+ node = node.insert_s(ct.is, NO_DESCRIPTION, overview);
}
if let Some(tagline) = &details.tagline {
- node = node.insert_s(ct.is, NO_TAGLINE, &tagline);
+ node = node.insert_s(ct.is, NO_TAGLINE, tagline);
}
if let Some(x) = details.ids.imdb.clone() {
node = node.update(NO_IDENTIFIERS, |idents| {
idents.insert_s(ct.is, IDENT_IMDB, &x)
});
}
- if let Some(x) = details.ids.tvdb.clone() {
+ if let Some(x) = details.ids.tvdb {
node = node.update(NO_IDENTIFIERS, |idents| {
idents.insert_s(ct.is, IDENT_TVDB, &x.to_string())
});
}
- if let Some(x) = details.ids.tmdb.clone() {
- if let Some(key) = match trakt_kind {
+ if let Some(x) = details.ids.tmdb
+ && let Some(key) = match trakt_kind {
TraktKind::Movie => Some(IDENT_TMDB_MOVIE),
TraktKind::Show => Some(IDENT_TMDB_SERIES),
_ => None,
- } {
- node = node.update(NO_IDENTIFIERS, |idents| idents.insert(key, &x.to_string()));
- };
+ }
+ {
+ node = node.update(NO_IDENTIFIERS, |idents| idents.insert(key, &x.to_string()));
}
if let Some(rating) = details.rating {
node = node.update(NO_RATINGS, |idents| idents.insert(RTYP_TRAKT, rating));
@@ -587,7 +587,7 @@ impl Trakt {
node = node.insert_s(ct.is, NO_INDEX, episode.number);
node = node.insert_s(ct.is, NO_TITLE, &episode.title);
if let Some(overview) = &episode.overview {
- node = node.insert_s(ct.is, NO_DESCRIPTION, &overview);
+ node = node.insert_s(ct.is, NO_DESCRIPTION, overview);
}
if let Some(r) = episode.rating {
node = node.update(NO_RATINGS, |rats| rats.insert_s(ct.is, RTYP_TRAKT, r));
diff --git a/import/src/plugins/vgmdb.rs b/import/src/plugins/vgmdb.rs
index f93e84c..5c02a42 100644
--- a/import/src/plugins/vgmdb.rs
+++ b/import/src/plugins/vgmdb.rs
@@ -99,10 +99,10 @@ impl Vgmdb {
rt: &Handle,
) -> Result<Option<String>> {
let html = self.scrape_artist_page(cache, id, rt)?;
- if let Some(cap) = RE_IMAGE_URL_FROM_HTML.captures(&str::from_utf8(&html).unwrap()) {
- if let Some(url) = cap.name("url").map(|m| m.as_str()) {
- return Ok(Some(url.to_string()));
- }
+ if let Some(cap) = RE_IMAGE_URL_FROM_HTML.captures(str::from_utf8(&html).unwrap())
+ && let Some(url) = cap.name("url").map(|m| m.as_str())
+ {
+ return Ok(Some(url.to_string()));
}
Ok(None)
}
diff --git a/import/src/plugins/wikidata.rs b/import/src/plugins/wikidata.rs
index 5b79592..3ef51f2 100644
--- a/import/src/plugins/wikidata.rs
+++ b/import/src/plugins/wikidata.rs
@@ -101,17 +101,17 @@ impl Wikidata {
pub fn query_image_path(&self, cache: &Cache, id: &str, rt: &Handle) -> Result<Option<String>> {
let response = self.query(cache, id, rt)?;
- if let Some(entity) = response.entities.get(id) {
- if let Some(images) = entity.claims.get(properties::IMAGE) {
- for image in images {
- if image.mainsnak.datatype != "commonsMedia" {
- bail!("image is of type {:?}", image.mainsnak.datatype);
- }
- if let Some(dv) = &image.mainsnak.datavalue {
- if let Value::String(filename) = &dv.value {
- return Ok(Some(filename.to_owned()));
- }
- }
+ if let Some(entity) = response.entities.get(id)
+ && let Some(images) = entity.claims.get(properties::IMAGE)
+ {
+ for image in images {
+ if image.mainsnak.datatype != "commonsMedia" {
+ bail!("image is of type {:?}", image.mainsnak.datatype);
+ }
+ if let Some(dv) = &image.mainsnak.datavalue
+ && let Value::String(filename) = &dv.value
+ {
+ return Ok(Some(filename.to_owned()));
}
}
}