aboutsummaryrefslogtreecommitdiff
path: root/import/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'import/src/plugins')
-rw-r--r--import/src/plugins/acoustid.rs4
-rw-r--r--import/src/plugins/infojson.rs6
-rw-r--r--import/src/plugins/media_info.rs4
-rw-r--r--import/src/plugins/misc.rs12
-rw-r--r--import/src/plugins/mod.rs14
-rw-r--r--import/src/plugins/tags.rs4
-rw-r--r--import/src/plugins/tmdb.rs8
-rw-r--r--import/src/plugins/trakt.rs10
8 files changed, 31 insertions, 31 deletions
diff --git a/import/src/plugins/acoustid.rs b/import/src/plugins/acoustid.rs
index 9edcb63..9891927 100644
--- a/import/src/plugins/acoustid.rs
+++ b/import/src/plugins/acoustid.rs
@@ -5,7 +5,7 @@
*/
use crate::{
USER_AGENT,
- plugins::{ImportContext, ImportPlugin, PluginInfo},
+ plugins::{PluginContext, ImportPlugin, PluginInfo},
};
use anyhow::{Context, Result};
use jellycache::{HashKey, cache_memory};
@@ -169,7 +169,7 @@ impl ImportPlugin for AcoustID {
..Default::default()
}
}
- fn media(&self, ct: &ImportContext, node: RowNum, path: &Path, _seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, node: RowNum, path: &Path, _seg: &Segment) -> Result<()> {
if !ct.iflags.use_acoustid {
return Ok(());
}
diff --git a/import/src/plugins/infojson.rs b/import/src/plugins/infojson.rs
index 3e6bdb8..d62983d 100644
--- a/import/src/plugins/infojson.rs
+++ b/import/src/plugins/infojson.rs
@@ -3,7 +3,7 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::plugins::{ImportContext, ImportPlugin, PluginInfo};
+use crate::plugins::{PluginContext, ImportPlugin, PluginInfo};
use anyhow::{Context, Result, anyhow};
use chrono::{Utc, format::Parsed};
use jellycache::cache_read;
@@ -171,7 +171,7 @@ impl ImportPlugin for Infojson {
..Default::default()
}
}
- fn file(&self, ct: &ImportContext, parent: RowNum, path: &Path) -> Result<()> {
+ fn file(&self, ct: &PluginContext, parent: RowNum, path: &Path) -> Result<()> {
let filename = path.file_name().unwrap().to_string_lossy();
if filename != "channel.info.json" {
return Ok(());
@@ -208,7 +208,7 @@ impl ImportPlugin for Infojson {
})
}
- fn media(&self, ct: &ImportContext, row: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, row: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
let infojson = seg
.attachments
.iter()
diff --git a/import/src/plugins/media_info.rs b/import/src/plugins/media_info.rs
index b750070..9b79efa 100644
--- a/import/src/plugins/media_info.rs
+++ b/import/src/plugins/media_info.rs
@@ -4,7 +4,7 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::plugins::{ImportContext, ImportPlugin, PluginInfo};
+use crate::plugins::{PluginContext, ImportPlugin, PluginInfo};
use anyhow::Result;
use jellycommon::{
jellyobject::{Object, ObjectBuffer},
@@ -23,7 +23,7 @@ impl ImportPlugin for MediaInfo {
..Default::default()
}
}
- fn media(&self, ct: &ImportContext, row: RowNum, path: &Path, seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, row: RowNum, path: &Path, seg: &Segment) -> Result<()> {
let size = path.metadata()?.len();
ct.dba.db.write_transaction(&mut |txn| {
let mut node = ct.dba.nodes.get(txn, row)?.unwrap();
diff --git a/import/src/plugins/misc.rs b/import/src/plugins/misc.rs
index ff08d87..babbcec 100644
--- a/import/src/plugins/misc.rs
+++ b/import/src/plugins/misc.rs
@@ -3,7 +3,7 @@
which is licensed under the GNU Affero General Public License (version 3); see /COPYING.
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::plugins::{ImportContext, ImportPlugin, PluginInfo};
+use crate::plugins::{PluginContext, ImportPlugin, PluginInfo};
use anyhow::{Context, Result, bail};
use jellycache::{HashKey, cache_store};
use jellycommon::{jellyobject::inspect::Inspector, *};
@@ -22,7 +22,7 @@ impl ImportPlugin for ImageFiles {
..Default::default()
}
}
- fn file(&self, ct: &ImportContext, row: RowNum, path: &Path) -> Result<()> {
+ fn file(&self, ct: &PluginContext, row: RowNum, path: &Path) -> Result<()> {
let filename = path.file_name().unwrap().to_string_lossy();
let slot = match filename.as_ref() {
"poster.jpeg" | "poster.webp" | "poster.png" => PICT_COVER,
@@ -66,7 +66,7 @@ impl ImportPlugin for ImageAttachments {
..Default::default()
}
}
- fn media(&self, ct: &ImportContext, row: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, row: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
let Some(cover) = seg
.attachments
.iter()
@@ -94,7 +94,7 @@ impl ImportPlugin for General {
..Default::default()
}
}
- fn instruction(&self, ct: &ImportContext, node: RowNum, line: &str) -> Result<()> {
+ fn instruction(&self, ct: &PluginContext, node: RowNum, line: &str) -> Result<()> {
if line == "hidden" {
ct.dba.update_node(node, |node| {
node.as_object().insert(NO_VISIBILITY, VISI_HIDDEN)
@@ -144,7 +144,7 @@ impl ImportPlugin for Children {
..Default::default()
}
}
- fn file(&self, ct: &ImportContext, parent: RowNum, path: &Path) -> Result<()> {
+ fn file(&self, ct: &PluginContext, parent: RowNum, path: &Path) -> Result<()> {
// TODO use idents
// let filename = path.file_name().unwrap().to_string_lossy();
// if filename.as_ref() == "children" {
@@ -176,7 +176,7 @@ impl ImportPlugin for EpisodeIndex {
..Default::default()
}
}
- fn media(&self, ct: &ImportContext, node: RowNum, path: &Path, _seg: &Segment) -> Result<()> {
+ 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()) {
diff --git a/import/src/plugins/mod.rs b/import/src/plugins/mod.rs
index 91be437..d70c6e1 100644
--- a/import/src/plugins/mod.rs
+++ b/import/src/plugins/mod.rs
@@ -15,15 +15,15 @@ pub mod vgmdb;
pub mod wikidata;
pub mod wikimedia_commons;
-use crate::{ApiSecrets, DatabaseTables, InheritedFlags};
+use crate::{ApiSecrets, ImportConfig, InheritedFlags};
use anyhow::Result;
use jellydb::table::RowNum;
use jellyremuxer::matroska::Segment;
use std::{collections::HashSet, path::Path, sync::Mutex};
use tokio::runtime::Handle;
-pub struct ImportContext<'a> {
- pub dba: &'a DatabaseTables,
+pub struct PluginContext<'a> {
+ pub dba: &'a ImportConfig,
pub rt: &'a Handle,
pub iflags: InheritedFlags,
pub pending_nodes: &'a Mutex<HashSet<RowNum>>,
@@ -40,19 +40,19 @@ pub struct PluginInfo {
pub trait ImportPlugin: Send + Sync {
fn info(&self) -> PluginInfo;
- fn file(&self, ct: &ImportContext, parent: RowNum, path: &Path) -> Result<()> {
+ fn file(&self, ct: &PluginContext, parent: RowNum, path: &Path) -> Result<()> {
let _ = (ct, parent, path);
Ok(())
}
- fn media(&self, ct: &ImportContext, node: RowNum, path: &Path, seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, node: RowNum, path: &Path, seg: &Segment) -> Result<()> {
let _ = (ct, node, path, seg);
Ok(())
}
- fn instruction(&self, ct: &ImportContext, node: RowNum, line: &str) -> Result<()> {
+ fn instruction(&self, ct: &PluginContext, node: RowNum, line: &str) -> Result<()> {
let _ = (ct, node, line);
Ok(())
}
- fn process(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let _ = (ct, node);
Ok(())
}
diff --git a/import/src/plugins/tags.rs b/import/src/plugins/tags.rs
index bfafbe8..e0652d4 100644
--- a/import/src/plugins/tags.rs
+++ b/import/src/plugins/tags.rs
@@ -4,7 +4,7 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::plugins::{ImportContext, ImportPlugin, PluginInfo};
+use crate::plugins::{PluginContext, ImportPlugin, PluginInfo};
use anyhow::Result;
use jellycommon::*;
use jellydb::table::RowNum;
@@ -20,7 +20,7 @@ impl ImportPlugin for Tags {
..Default::default()
}
}
- fn media(&self, ct: &ImportContext, node: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
+ fn media(&self, ct: &PluginContext, node: RowNum, _path: &Path, seg: &Segment) -> Result<()> {
let tags = seg
.tags
.first()
diff --git a/import/src/plugins/tmdb.rs b/import/src/plugins/tmdb.rs
index 6b70d46..cf50938 100644
--- a/import/src/plugins/tmdb.rs
+++ b/import/src/plugins/tmdb.rs
@@ -5,7 +5,7 @@
*/
use crate::{
USER_AGENT,
- plugins::{ImportContext, ImportPlugin, PluginInfo},
+ plugins::{PluginContext, ImportPlugin, PluginInfo},
};
use anyhow::{Context, Result, anyhow, bail};
use chrono::{Utc, format::Parsed};
@@ -162,14 +162,14 @@ impl ImportPlugin for Tmdb {
..Default::default()
}
}
- fn process(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
self.process_primary(ct, node)?;
self.process_episode(ct, node)?;
Ok(())
}
}
impl Tmdb {
- fn process_primary(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process_primary(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let data = ct.dba.get_node(node)?.unwrap();
let data = data.as_object();
@@ -238,7 +238,7 @@ impl Tmdb {
})?;
Ok(())
}
- fn process_episode(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process_episode(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let data = ct.dba.get_node(node)?.unwrap();
let data = data.as_object();
diff --git a/import/src/plugins/trakt.rs b/import/src/plugins/trakt.rs
index 7530449..3569454 100644
--- a/import/src/plugins/trakt.rs
+++ b/import/src/plugins/trakt.rs
@@ -5,7 +5,7 @@
*/
use crate::{
USER_AGENT,
- plugins::{ImportContext, ImportPlugin, PluginInfo},
+ plugins::{PluginContext, ImportPlugin, PluginInfo},
};
use anyhow::{Context, Result, anyhow, bail};
use jellycache::{HashKey, cache_memory};
@@ -380,7 +380,7 @@ impl ImportPlugin for Trakt {
..Default::default()
}
}
- fn instruction(&self, ct: &ImportContext, node: RowNum, line: &str) -> Result<()> {
+ fn instruction(&self, ct: &PluginContext, node: RowNum, line: &str) -> Result<()> {
use jellycommon::*;
if let Some(value) = line.strip_prefix("trakt-").or(line.strip_prefix("trakt=")) {
let (ty, id) = value.split_once(":").unwrap_or(("movie", value));
@@ -398,7 +398,7 @@ impl ImportPlugin for Trakt {
}
Ok(())
}
- fn process(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
self.process_primary(ct, node)?;
self.process_episode(ct, node)?;
Ok(())
@@ -406,7 +406,7 @@ impl ImportPlugin for Trakt {
}
impl Trakt {
- fn process_primary(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process_primary(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let data = ct.dba.get_node(node)?.unwrap();
let data = data.as_object();
let (trakt_kind, trakt_id): (_, u64) = if let Some(id) = data
@@ -492,7 +492,7 @@ impl Trakt {
})?;
Ok(())
}
- fn process_episode(&self, ct: &ImportContext, node: RowNum) -> Result<()> {
+ fn process_episode(&self, ct: &PluginContext, node: RowNum) -> Result<()> {
let node_data = ct.dba.get_node(node)?.unwrap();
let node_data = node_data.as_object();