Re-order instructions

This commit is contained in:
ByteDream 2023-01-09 17:26:04 +01:00
parent 12be16417f
commit 29845ba6e5
4 changed files with 35 additions and 28 deletions

View file

@ -208,7 +208,7 @@ impl Execute for Archive {
format.stream.resolution, format.stream.resolution,
format.stream.fps, format.stream.fps,
format.season_number, format.season_number,
format.number, format.episode_number,
) )
} }
} }
@ -234,7 +234,7 @@ impl Execute for Archive {
format.stream.resolution, format.stream.resolution,
format.stream.fps, format.stream.fps,
format.season_number, format.season_number,
format.number format.episode_number
) )
} }
} }
@ -266,7 +266,7 @@ impl Execute for Archive {
tab_info!( tab_info!(
"Episode: S{:02}E{:02}", "Episode: S{:02}E{:02}",
primary.season_number, primary.season_number,
primary.number primary.episode_number
); );
tab_info!( tab_info!(
"Audio: {} (primary), {}", "Audio: {} (primary), {}",
@ -318,7 +318,7 @@ impl Execute for Archive {
// Remove subtitles of deleted video // Remove subtitles of deleted video
if only_audio { if only_audio {
subtitles.retain(|s| s.episode_id != additional.id); subtitles.retain(|s| s.episode_id != additional.episode_id);
} }
} }

View file

@ -182,7 +182,7 @@ impl Execute for Download {
format.stream.resolution, format.stream.resolution,
format.stream.fps, format.stream.fps,
format.season_number, format.season_number,
format.number, format.episode_number,
) )
} }
} }
@ -202,7 +202,7 @@ impl Execute for Download {
format.stream.resolution, format.stream.resolution,
format.stream.fps, format.stream.fps,
format.season_number, format.season_number,
format.number format.episode_number
) )
} }
} }
@ -229,7 +229,11 @@ impl Execute for Download {
path.file_name().unwrap().to_str().unwrap() path.file_name().unwrap().to_str().unwrap()
} }
); );
tab_info!("Episode: S{:02}E{:02}", format.season_number, format.number); tab_info!(
"Episode: S{:02}E{:02}",
format.season_number,
format.episode_number
);
tab_info!("Audio: {}", format.audio); tab_info!("Audio: {}", format.audio);
tab_info!( tab_info!(
"Subtitles: {}", "Subtitles: {}",

View file

@ -5,10 +5,9 @@ use std::time::Duration;
#[derive(Clone)] #[derive(Clone)]
pub struct Format { pub struct Format {
pub id: String,
pub title: String, pub title: String,
pub description: String, pub description: String,
pub number: u32,
pub audio: Locale, pub audio: Locale,
pub duration: Duration, pub duration: Duration,
@ -20,15 +19,17 @@ pub struct Format {
pub season_id: String, pub season_id: String,
pub season_title: String, pub season_title: String,
pub season_number: u32, pub season_number: u32,
pub episode_id: String,
pub episode_number: f32,
} }
impl Format { impl Format {
pub fn new_from_episode(episode: Media<Episode>, stream: VariantData) -> Self { pub fn new_from_episode(episode: Media<Episode>, stream: VariantData) -> Self {
Self { Self {
id: episode.id,
title: episode.title, title: episode.title,
description: episode.description, description: episode.description,
number: episode.metadata.episode_number,
audio: episode.metadata.audio_locale, audio: episode.metadata.audio_locale,
duration: episode.metadata.duration.to_std().unwrap(), duration: episode.metadata.duration.to_std().unwrap(),
@ -40,15 +41,17 @@ impl Format {
season_id: episode.metadata.season_id, season_id: episode.metadata.season_id,
season_title: episode.metadata.season_title, season_title: episode.metadata.season_title,
season_number: episode.metadata.season_number, season_number: episode.metadata.season_number,
episode_id: episode.id,
episode_number: episode.metadata.episode.parse().unwrap_or(episode.metadata.sequence_number),
} }
} }
pub fn new_from_movie(movie: Media<Movie>, stream: VariantData) -> Self { pub fn new_from_movie(movie: Media<Movie>, stream: VariantData) -> Self {
Self { Self {
id: movie.id,
title: movie.title, title: movie.title,
description: movie.description, description: movie.description,
number: 1,
audio: Locale::ja_JP, audio: Locale::ja_JP,
duration: movie.metadata.duration.to_std().unwrap(), duration: movie.metadata.duration.to_std().unwrap(),
@ -60,6 +63,9 @@ impl Format {
season_id: movie.metadata.movie_listing_id, season_id: movie.metadata.movie_listing_id,
season_title: movie.metadata.movie_listing_title, season_title: movie.metadata.movie_listing_title,
season_number: 1, season_number: 1,
episode_id: movie.id,
episode_number: 1.0,
} }
} }
} }
@ -79,31 +85,28 @@ pub fn format_path(path: PathBuf, format: &Format, sanitize: bool) -> PathBuf {
PathBuf::from( PathBuf::from(
as_string as_string
.replace("{title}", &sanitize_func(&format.title)) .replace("{title}", &sanitize_func(&format.title))
.replace("{series_name}", &sanitize_func(&format.series_name))
.replace("{season_name}", &sanitize_func(&format.season_title))
.replace("{audio}", &sanitize_func(&format.audio.to_string())) .replace("{audio}", &sanitize_func(&format.audio.to_string()))
.replace( .replace(
"{resolution}", "{resolution}",
&sanitize_func(&format.stream.resolution.to_string()), &sanitize_func(&format.stream.resolution.to_string()),
) )
.replace( .replace("{series_id}", &sanitize_func(&format.series_id))
"{padded_season_number}", .replace("{series_name}", &sanitize_func(&format.series_name))
&sanitize_func(&format!("{:0>2}", format.season_number.to_string())), .replace("{season_id}", &sanitize_func(&format.season_id))
) .replace("{season_name}", &sanitize_func(&format.season_title))
.replace( .replace(
"{season_number}", "{season_number}",
&sanitize_func(&format.season_number.to_string()), &sanitize_func(&format.season_number.to_string()),
) )
.replace( .replace(
"{padded_episode_number}", "{padded_season_number}",
&sanitize_func(&format!("{:0>2}", format.number.to_string())), &sanitize_func(&format!("{:0>2}", format.season_number.to_string())),
) )
.replace("{episode_id}", &sanitize_func(&format.episode_id))
.replace("{episode_number}", &sanitize_func(&format.episode_number.to_string()))
.replace( .replace(
"{episode_number}", "{padded_episode_number}",
&sanitize_func(&format.number.to_string()), &sanitize_func(&format!("{:0>2}", format.episode_number.to_string())),
) ),
.replace("{series_id}", &sanitize_func(&format.series_id))
.replace("{season_id}", &sanitize_func(&format.season_id))
.replace("{episode_id}", &sanitize_func(&format.id)),
) )
} }

View file

@ -42,7 +42,7 @@ pub fn sort_formats_after_seasons(formats: Vec<Format>) -> Vec<Vec<Format>> {
let mut sorted = as_map let mut sorted = as_map
.into_iter() .into_iter()
.map(|(_, mut values)| { .map(|(_, mut values)| {
values.sort_by(|a, b| a.number.cmp(&b.number)); values.sort_by(|a, b| a.episode_number.total_cmp(&b.episode_number));
values values
}) })
.collect::<Vec<Vec<Format>>>(); .collect::<Vec<Vec<Format>>>();