aboutsummaryrefslogtreecommitdiff
path: root/import/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'import/src/lib.rs')
-rw-r--r--import/src/lib.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/import/src/lib.rs b/import/src/lib.rs
index 4be2151..2de4cc9 100644
--- a/import/src/lib.rs
+++ b/import/src/lib.rs
@@ -14,7 +14,7 @@ use jellybase::{
database::Database,
CONF, SECRETS,
};
-use matroska::matroska_metadata;
+use jellyremuxer::metadata::matroska_metadata;
use rayon::iter::{ParallelDrainRange, ParallelIterator};
use std::{
collections::HashMap,
@@ -243,6 +243,13 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> {
let info = m.info.ok_or(anyhow!("no info"))?;
let tracks = m.tracks.ok_or(anyhow!("no tracks"))?;
+ let infojson = m
+ .infojson
+ .as_ref()
+ .map(|ij| serde_json::from_slice::<infojson::YVideo>(ij))
+ .transpose()
+ .context("infojson")?;
+
let mut tags = m
.tags
.map(|tags| {
@@ -260,8 +267,7 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> {
.to_string_lossy()
.to_string();
- let slug = m
- .infojson
+ let slug = infojson
.as_ref()
.map(|ij| format!("youtube-{}", ij.id))
.unwrap_or(make_kebab(&filepath_stem));
@@ -311,7 +317,7 @@ fn import_media_file(db: &Database, path: &Path, parent: NodeID) -> Result<()> {
})
.collect::<Vec<_>>();
- if let Some(infojson) = m.infojson {
+ if let Some(infojson) = infojson {
node.kind = Some(
if !tracks
.iter()