From 1d38bd821351324b51a15a9400630c49d9838f80 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 23 Mar 2024 01:04:06 +0100 Subject: new track kind for short form video --- import/src/infojson.rs | 3 +++ import/src/lib.rs | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'import') diff --git a/import/src/infojson.rs b/import/src/infojson.rs index c83c91c..8704fef 100644 --- a/import/src/infojson.rs +++ b/import/src/infojson.rs @@ -26,6 +26,9 @@ pub struct YVideo { pub categories: Vec, pub tags: Vec, pub playable_in_embed: bool, + pub aspect_ratio: Option, + pub width: Option, + pub height: Option, pub automatic_captions: HashMap>, pub comment_count: Option, pub chapters: Option>, diff --git a/import/src/lib.rs b/import/src/lib.rs index e8c9708..7369f7a 100644 --- a/import/src/lib.rs +++ b/import/src/lib.rs @@ -516,7 +516,14 @@ async fn process_source( let infojson: infojson::YVideo = serde_json::from_str(&infojson).context("parsing infojson")?; - node.public.kind = Some(NodeKind::Video); + node.public.kind = Some( + if infojson.duration.unwrap_or(0.) < 120. && infojson.aspect_ratio.unwrap_or(2.) < 1. + { + NodeKind::ShortFormVideo + } else { + NodeKind::Video + }, + ); node.public.title = Some(infojson.title); node.public.description = Some(infojson.description); node.public.tagline = Some(infojson.webpage_url); -- cgit v1.2.3-70-g09d2