/* This file is part of jellything (https://codeberg.org/metamuffin/jellything) which is licensed under the GNU Affero General Public License (version 3); see /COPYING. Copyright (C) 2025 metamuffin */ pub mod acoustid; pub mod infojson; pub mod musicbrainz; pub mod tags; pub mod tmdb; pub mod trakt; pub mod vgmdb; pub mod wikidata; pub mod wikimedia_commons; pub mod media_info; pub mod misc; use std::path::Path; use anyhow::Result; use jellycommon::NodeID; use jellydb::Database; use jellyremuxer::matroska::Segment; use tokio::runtime::Handle; pub struct ImportContext { pub db: Database, pub rt: Handle, } pub trait ImportPlugin { fn file(&self, ct: &ImportContext, parent: NodeID, path: &Path) -> Result<()> { let _ = (ct, parent, path); Ok(()) } fn media(&self, ct: &ImportContext, node: NodeID, path: &Path, seg: &Segment) -> Result<()> { let _ = (ct, node, path, seg); Ok(()) } fn import_instruction(&self, ct: &ImportContext, node: NodeID, line: &str) -> Result<()> { let _ = (ct, node, line); Ok(()) } fn process_node(&self, ct: &ImportContext, node: NodeID) -> Result<()> { let _ = (ct, node); Ok(()) } }