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.fps,
format.season_number,
format.number,
format.episode_number,
)
}
}
@ -234,7 +234,7 @@ impl Execute for Archive {
format.stream.resolution,
format.stream.fps,
format.season_number,
format.number
format.episode_number
)
}
}
@ -266,7 +266,7 @@ impl Execute for Archive {
tab_info!(
"Episode: S{:02}E{:02}",
primary.season_number,
primary.number
primary.episode_number
);
tab_info!(
"Audio: {} (primary), {}",
@ -318,7 +318,7 @@ impl Execute for Archive {
// Remove subtitles of deleted video
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.fps,
format.season_number,
format.number,
format.episode_number,
)
}
}
@ -202,7 +202,7 @@ impl Execute for Download {
format.stream.resolution,
format.stream.fps,
format.season_number,
format.number
format.episode_number
)
}
}
@ -229,7 +229,11 @@ impl Execute for Download {
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!(
"Subtitles: {}",

View file

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

View file

@ -42,7 +42,7 @@ pub fn sort_formats_after_seasons(formats: Vec<Format>) -> Vec<Vec<Format>> {
let mut sorted = as_map
.into_iter()
.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
})
.collect::<Vec<Vec<Format>>>();