From e5e3ad2fed80bea3f2c9c90f87a405bca077691e Mon Sep 17 00:00:00 2001 From: elandsborough Date: Wed, 10 Jan 2024 19:53:36 +0000 Subject: Set default sorting order and method with arguments --- src/config.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/config.rs') diff --git a/src/config.rs b/src/config.rs index 1ef9eca..491ac40 100644 --- a/src/config.rs +++ b/src/config.rs @@ -15,6 +15,7 @@ use crate::{ args::{parse_auth, CliArgs, MediaType}, auth::RequiredAuth, file_utils::sanitize_path, + listing::{SortingMethod, SortingOrder}, renderer::ThemeSlug, }; @@ -50,6 +51,12 @@ pub struct MiniserveConfig { /// Show hidden files pub show_hidden: bool, + /// Default sorting method + pub default_sorting_method: Option, + + /// Default sorting order + pub default_sorting_order: Option, + /// Route prefix; Either empty or prefixed with slash pub route_prefix: String, @@ -265,6 +272,24 @@ impl MiniserveConfig { .transpose()? .unwrap_or_default(); + let default_sorting_method: Option = match args + .default_sorting_method + .to_owned() + .parse::() + { + Ok(value) => Some(value), + Err(_) => None, + }; + + let default_sorting_order: Option = match args + .default_sorting_order + .to_owned() + .parse::() + { + Ok(value) => Some(value), + Err(_) => None, + }; + Ok(MiniserveConfig { verbose: args.verbose, path: args.path.unwrap_or_else(|| PathBuf::from(".")), @@ -274,6 +299,8 @@ impl MiniserveConfig { path_explicitly_chosen, no_symlinks: args.no_symlinks, show_hidden: args.hidden, + default_sorting_method, + default_sorting_order, route_prefix, favicon_route, css_route, -- cgit v1.2.3