aboutsummaryrefslogtreecommitdiff
path: root/import
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-03-23 01:04:06 +0100
committermetamuffin <metamuffin@disroot.org>2024-03-23 01:04:06 +0100
commit1d38bd821351324b51a15a9400630c49d9838f80 (patch)
tree3c0c29e4967d2b298f80c87b8825961a86d8a319 /import
parenta5b49a157d6b4cb52c8421fec4d65835b310f767 (diff)
downloadjellything-1d38bd821351324b51a15a9400630c49d9838f80.tar
jellything-1d38bd821351324b51a15a9400630c49d9838f80.tar.bz2
jellything-1d38bd821351324b51a15a9400630c49d9838f80.tar.zst
new track kind for short form video
Diffstat (limited to 'import')
-rw-r--r--import/src/infojson.rs3
-rw-r--r--import/src/lib.rs9
2 files changed, 11 insertions, 1 deletions
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<String>,
pub tags: Vec<String>,
pub playable_in_embed: bool,
+ pub aspect_ratio: Option<f32>,
+ pub width: Option<i32>,
+ pub height: Option<i32>,
pub automatic_captions: HashMap<String, Vec<YCaption>>,
pub comment_count: Option<usize>,
pub chapters: Option<Vec<YChapter>>,
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);