From f3d57eb0aaabd06a99d031c1a408007c08a2466b Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Wed, 20 Jul 2022 00:53:00 +0200 Subject: [PATCH] =?UTF-8?q?Actualiza=20y=20revisa=20c=C3=B3digo=20aplicand?= =?UTF-8?q?o=20cargo=20clippy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pagetop-user/src/lib.rs | 6 +++--- pagetop/src/app/banner/figfont.rs | 4 ++-- pagetop/src/app/db.rs | 6 +++--- pagetop/src/app/tracing.rs | 10 +++++----- pagetop/src/base/component.rs | 4 ++-- .../base/component/{form.rs => form_element.rs} | 0 .../component/{form => form_element}/button.rs | 7 ++----- .../component/{form => form_element}/date.rs | 5 +---- .../component/{form => form_element}/form.rs | 0 .../component/{form => form_element}/hidden.rs | 5 +---- .../component/{form => form_element}/input.rs | 5 +---- pagetop/src/base/component/image.rs | 2 +- pagetop/src/base/module/homepage.rs | 8 ++++---- pagetop/src/config.rs | 4 ++-- pagetop/src/core/component/bundle.rs | 2 +- pagetop/src/core/component/context.rs | 4 ++-- pagetop/src/core/module/all.rs | 16 +++++++--------- pagetop/src/db.rs | 2 +- pagetop/src/html/assets.rs | 2 ++ pagetop/src/html/attribute.rs | 1 + pagetop/src/html/classes.rs | 1 + pagetop/src/html/favicon.rs | 1 + pagetop/src/html/identifier.rs | 3 ++- 23 files changed, 45 insertions(+), 53 deletions(-) rename pagetop/src/base/component/{form.rs => form_element.rs} (100%) rename pagetop/src/base/component/{form => form_element}/button.rs (96%) rename pagetop/src/base/component/{form => form_element}/date.rs (98%) rename pagetop/src/base/component/{form => form_element}/form.rs (100%) rename pagetop/src/base/component/{form => form_element}/hidden.rs (93%) rename pagetop/src/base/component/{form => form_element}/input.rs (98%) diff --git a/pagetop-user/src/lib.rs b/pagetop-user/src/lib.rs index 9127e1fd..78640dfc 100644 --- a/pagetop-user/src/lib.rs +++ b/pagetop-user/src/lib.rs @@ -51,7 +51,7 @@ fn form_login() -> Form { Form::new() .with_id("user-login") .with_element( - form::Input::textfield() + form_element::Input::textfield() .with_name("name") .with_label(l("username").as_str()) .with_help_text( @@ -66,10 +66,10 @@ fn form_login() -> Form { .with_autofocus(true), ) .with_element( - form::Input::password() + form_element::Input::password() .with_name("pass") .with_label(l("password").as_str()) .with_help_text(l("password_help").as_str()), ) - .with_element(form::Button::submit(l("login").as_str())) + .with_element(form_element::Button::submit(l("login").as_str())) } diff --git a/pagetop/src/app/banner/figfont.rs b/pagetop/src/app/banner/figfont.rs index a2702655..51be8ae9 100644 --- a/pagetop/src/app/banner/figfont.rs +++ b/pagetop/src/app/banner/figfont.rs @@ -17,8 +17,8 @@ pub static FIGFONT: Lazy = Lazy::new(|| { "starwars" => starwars, _ => { println!( - "\n FIGfont \"{}\" not found for banner. {}. {}.", - SETTINGS.app.startup_banner, "Using \"Slant\"", "Check the settings file", + "\n FIGfont \"{}\" not found for banner. Using \"Slant\". Check the settings file.", + SETTINGS.app.startup_banner, ); slant } diff --git a/pagetop/src/app/db.rs b/pagetop/src/app/db.rs index 3b4cb282..23818424 100644 --- a/pagetop/src/app/db.rs +++ b/pagetop/src/app/db.rs @@ -25,11 +25,11 @@ pub static DBCONN: Lazy = Lazy::new(|| { ) .unwrap(); tmp_uri - .set_username(&SETTINGS.database.db_user.as_str()) + .set_username(SETTINGS.database.db_user.as_str()) .unwrap(); // https://github.com/launchbadge/sqlx/issues/1624 tmp_uri - .set_password(Some(&SETTINGS.database.db_pass.as_str())) + .set_password(Some(SETTINGS.database.db_pass.as_str())) .unwrap(); if SETTINGS.database.db_port != 0 { tmp_uri.set_port(Some(SETTINGS.database.db_port)).unwrap(); @@ -56,7 +56,7 @@ pub static DBCONN: Lazy = Lazy::new(|| { run_now(Database::connect::({ let mut db_opt = ConnectOptions::new(db_uri.to_string()); db_opt.max_connections(SETTINGS.database.max_pool_size); - db_opt.into() + db_opt })) .expect_or_log("Failed to connect to database") }); diff --git a/pagetop/src/app/tracing.rs b/pagetop/src/app/tracing.rs index 35625407..d7c8e071 100644 --- a/pagetop/src/app/tracing.rs +++ b/pagetop/src/app/tracing.rs @@ -18,7 +18,7 @@ use tracing_subscriber::EnvFilter; /// enviarán antes de terminar la ejecución. pub static TRACING: Lazy = Lazy::new(|| { - let env_filter = EnvFilter::try_new(&SETTINGS.log.tracing).unwrap_or(EnvFilter::new("Info")); + let env_filter = EnvFilter::try_new(&SETTINGS.log.tracing).unwrap_or_else(|_| EnvFilter::new("Info")); let rolling = SETTINGS.log.rolling.to_lowercase(); let (non_blocking, guard) = match rolling.as_str() { @@ -33,8 +33,8 @@ pub static TRACING: Lazy = Lazy::new(|| { "endless" => tracing_appender::rolling::never(path, prefix), _ => { println!( - "Rolling value \"{}\" not valid. {}. {}.", - SETTINGS.log.rolling, "Using \"daily\"", "Check the settings file", + "Rolling value \"{}\" not valid. Using \"daily\". Check the settings file.", + SETTINGS.log.rolling, ); tracing_appender::rolling::daily(path, prefix) } @@ -52,8 +52,8 @@ pub static TRACING: Lazy = Lazy::new(|| { "pretty" => subscriber.pretty().init(), _ => { println!( - "Tracing format \"{}\" not valid. {}. {}.", - SETTINGS.log.format, "Using \"Full\"", "Check the settings file", + "Tracing format \"{}\" not valid. Using \"Full\". Check the settings file.", + SETTINGS.log.format, ); subscriber.init(); } diff --git a/pagetop/src/base/component.rs b/pagetop/src/base/component.rs index 77eeb44d..4077888b 100644 --- a/pagetop/src/base/component.rs +++ b/pagetop/src/base/component.rs @@ -20,5 +20,5 @@ pub use image::{Image, COMPONENT_IMAGE}; mod menu; pub use menu::{Menu, MenuItem, MenuItemType, COMPONENT_MENU, COMPONENT_MENUITEM}; -pub mod form; -pub use form::{Form, FormMethod, COMPONENT_FORM}; +pub mod form_element; +pub use form_element::{Form, FormMethod, COMPONENT_FORM}; diff --git a/pagetop/src/base/component/form.rs b/pagetop/src/base/component/form_element.rs similarity index 100% rename from pagetop/src/base/component/form.rs rename to pagetop/src/base/component/form_element.rs diff --git a/pagetop/src/base/component/form/button.rs b/pagetop/src/base/component/form_element/button.rs similarity index 96% rename from pagetop/src/base/component/form/button.rs rename to pagetop/src/base/component/form_element/button.rs index f5bee082..cddb6bdb 100644 --- a/pagetop/src/base/component/form/button.rs +++ b/pagetop/src/base/component/form_element/button.rs @@ -54,10 +54,7 @@ impl ComponentTrait for Button { ButtonType::Reset => "reset", ButtonType::Submit => "submit", }; - let id = match self.name().get() { - Some(name) => Some(concat_string!("edit-", name)), - _ => None, - }; + let id = self.name().get().map(|name| concat_string!("edit-", name)); html! { button type=(button_type) @@ -86,7 +83,7 @@ impl ComponentTrait for Button { } impl Button { - pub fn button(value: &str) -> Self { + pub fn new_with_value(value: &str) -> Self { Button::new().with_value(value) } diff --git a/pagetop/src/base/component/form/date.rs b/pagetop/src/base/component/form_element/date.rs similarity index 98% rename from pagetop/src/base/component/form/date.rs rename to pagetop/src/base/component/form_element/date.rs index 21d24cbf..19370e57 100644 --- a/pagetop/src/base/component/form/date.rs +++ b/pagetop/src/base/component/form_element/date.rs @@ -53,10 +53,7 @@ impl ComponentTrait for Date { } fn default_render(&self, _: &mut InContext) -> Markup { - let id = match self.name().get() { - Some(name) => Some(concat_string!("edit-", name)), - None => None, - }; + let id = self.name().get().map(|name| concat_string!("edit-", name)); html! { div class=[self.classes().get()] { @match self.label().get() { diff --git a/pagetop/src/base/component/form/form.rs b/pagetop/src/base/component/form_element/form.rs similarity index 100% rename from pagetop/src/base/component/form/form.rs rename to pagetop/src/base/component/form_element/form.rs diff --git a/pagetop/src/base/component/form/hidden.rs b/pagetop/src/base/component/form_element/hidden.rs similarity index 93% rename from pagetop/src/base/component/form/hidden.rs rename to pagetop/src/base/component/form_element/hidden.rs index 3ee5c2f5..3da6a4c3 100644 --- a/pagetop/src/base/component/form/hidden.rs +++ b/pagetop/src/base/component/form_element/hidden.rs @@ -26,10 +26,7 @@ impl ComponentTrait for Hidden { } fn default_render(&self, _: &mut InContext) -> Markup { - let id = match self.name().get() { - Some(name) => Some(concat_string!("value-", name)), - _ => None, - }; + let id = self.name().get().map(|name| concat_string!("value-", name)); html! { input type="hidden" id=[id] name=[self.name().get()] value=[self.value().get()]; } diff --git a/pagetop/src/base/component/form/input.rs b/pagetop/src/base/component/form_element/input.rs similarity index 98% rename from pagetop/src/base/component/form/input.rs rename to pagetop/src/base/component/form_element/input.rs index 6cb50d96..8d56b739 100644 --- a/pagetop/src/base/component/form/input.rs +++ b/pagetop/src/base/component/form_element/input.rs @@ -78,10 +78,7 @@ impl ComponentTrait for Input { InputType::Textfield => "text", InputType::Url => "url", }; - let id = match self.name().get() { - Some(name) => Some(concat_string!("edit-", name)), - None => None, - }; + let id = self.name().get().map(|name| concat_string!("edit-", name)); html! { div class=[self.classes().get()] { @match self.label().get() { diff --git a/pagetop/src/base/component/image.rs b/pagetop/src/base/component/image.rs index 66a8b8c8..06749f5b 100644 --- a/pagetop/src/base/component/image.rs +++ b/pagetop/src/base/component/image.rs @@ -54,7 +54,7 @@ impl ComponentTrait for Image { } impl Image { - pub fn image(source: &str) -> Self { + pub fn new_with_source(source: &str) -> Self { Image::new().with_source(source) } diff --git a/pagetop/src/base/module/homepage.rs b/pagetop/src/base/module/homepage.rs index a3d3e33a..176ae834 100644 --- a/pagetop/src/base/module/homepage.rs +++ b/pagetop/src/base/module/homepage.rs @@ -87,7 +87,7 @@ fn hello_world() -> Container { .with_column( grid::Column::new() .with_classes(ClassesOp::Add, "hello-col-image") - .with_component(Image::image("/theme/images/demo-header.svg")), + .with_component(Image::new_with_source("/theme/images/demo-header.svg")), ), ) } @@ -121,7 +121,7 @@ fn about_pagetop() -> Container { grid::Column::new() .with_classes(ClassesOp::Add, "pagetop-col-image") .with_size(grid::ColumnSize::Is5of12) - .with_component(Image::image("/theme/images/demo-about.svg")), + .with_component(Image::new_with_source("/theme/images/demo-about.svg")), ) .with_column( grid::Column::new() @@ -152,7 +152,7 @@ fn promo_pagetop() -> Container { grid::Column::new() .with_classes(ClassesOp::Add, "promo-col-image") .with_size(grid::ColumnSize::Is5of12) - .with_component(Image::image("/theme/images/demo-pagetop.svg")), + .with_component(Image::new_with_source("/theme/images/demo-pagetop.svg")), ) .with_column( grid::Column::new() @@ -195,7 +195,7 @@ fn reporting_problems() -> Container { .with_column( grid::Column::new() .with_classes(ClassesOp::Add, "reporting-col-image") - .with_component(Image::image("/theme/images/demo-pagetop.svg")), + .with_component(Image::new_with_source("/theme/images/demo-pagetop.svg")), ), ) } diff --git a/pagetop/src/config.rs b/pagetop/src/config.rs index b06b62d5..cc5d3c3b 100644 --- a/pagetop/src/config.rs +++ b/pagetop/src/config.rs @@ -6,7 +6,7 @@ use serde::Deserialize; use std::env; /// Nombre del directorio donde se encuentra la configuración. -const CONFIG_DIR: &'static str = "config"; +const CONFIG_DIR: &str = "config"; /// Al arrancar la aplicación, carga los valores originales "clave = valor" de /// los archivos de configuración. Con [`config_map`] se asignarán los ajustes @@ -15,7 +15,7 @@ const CONFIG_DIR: &'static str = "config"; pub static CONFIG: Lazy = Lazy::new(|| { // Establece el modo de ejecución según el valor de la variable de entorno // PAGETOP_RUN_MODE. Asume "default" por defecto. - let run_mode = env::var("PAGETOP_RUN_MODE").unwrap_or("default".into()); + let run_mode = env::var("PAGETOP_RUN_MODE").unwrap_or_else(|_| "default".into()); // Inicializa los ajustes. let mut settings = Config::default(); diff --git a/pagetop/src/core/component/bundle.rs b/pagetop/src/core/component/bundle.rs index 7cb4a651..bc9773c7 100644 --- a/pagetop/src/core/component/bundle.rs +++ b/pagetop/src/core/component/bundle.rs @@ -3,7 +3,7 @@ use crate::html::{html, Markup}; use std::sync::{Arc, RwLock}; -#[derive(Clone)] +#[derive(Clone, Default)] pub struct ComponentsBundle(Vec>>); impl ComponentsBundle { diff --git a/pagetop/src/core/component/context.rs b/pagetop/src/core/component/context.rs index 054a87f9..e7aa814c 100644 --- a/pagetop/src/core/component/context.rs +++ b/pagetop/src/core/component/context.rs @@ -100,11 +100,11 @@ impl InContext { pub fn required_id(&mut self, id: &IdentifierValue) -> String { match id.get() { - Some(id) => id.to_string(), + Some(id) => id, None => { let prefix = util::single_type_name::() .trim() - .replace(" ", "_") + .replace(' ', "_") .to_lowercase(); let prefix = if prefix.is_empty() { "prefix".to_owned() diff --git a/pagetop/src/core/module/all.rs b/pagetop/src/core/module/all.rs index 222a968e..ae36ac29 100644 --- a/pagetop/src/core/module/all.rs +++ b/pagetop/src/core/module/all.rs @@ -33,17 +33,15 @@ fn add_to(list: &mut Vec<&dyn ModuleTrait>, module: &'static dyn ModuleTrait) { .read() .unwrap() .iter() - .any(|m| m.handler() == module.handler()) + .any(|m| m.handler() == module.handler()) && !list.iter().any(|m| m.handler() == module.handler()) { - if !list.iter().any(|m| m.handler() == module.handler()) { - trace::debug!("Enabling module \"{}\"", module.single_name()); - list.push(module); + trace::debug!("Enabling module \"{}\"", module.single_name()); + list.push(module); - let mut dependencies = module.dependencies(); - dependencies.reverse(); - for d in dependencies.iter() { - add_to(list, *d); - } + let mut dependencies = module.dependencies(); + dependencies.reverse(); + for d in dependencies.iter() { + add_to(list, *d); } } } diff --git a/pagetop/src/db.rs b/pagetop/src/db.rs index 3c25c0dc..de2556ad 100644 --- a/pagetop/src/db.rs +++ b/pagetop/src/db.rs @@ -13,7 +13,7 @@ macro_rules! pub_migration { impl MigrationName for $migration { fn name(&self) -> &str { - crate::util::partial_type_name(module_path!(), 1) + $crate::util::partial_type_name(module_path!(), 1) } } }; diff --git a/pagetop/src/html/assets.rs b/pagetop/src/html/assets.rs index 338446f4..1736dbc0 100644 --- a/pagetop/src/html/assets.rs +++ b/pagetop/src/html/assets.rs @@ -17,6 +17,8 @@ pub enum AssetsOp { Add(T), Remove(SourceValue), } + +#[derive(Default)] pub struct Assets(Vec); impl Assets { diff --git a/pagetop/src/html/attribute.rs b/pagetop/src/html/attribute.rs index 095f9df8..b6cc0e9a 100644 --- a/pagetop/src/html/attribute.rs +++ b/pagetop/src/html/attribute.rs @@ -1,3 +1,4 @@ +#[derive(Default)] pub struct AttributeValue(String); impl AttributeValue { diff --git a/pagetop/src/html/classes.rs b/pagetop/src/html/classes.rs index 43b1ad79..dd60f177 100644 --- a/pagetop/src/html/classes.rs +++ b/pagetop/src/html/classes.rs @@ -14,6 +14,7 @@ pub enum ClassesOp { SetDefaultIfEmpty, } +#[derive(Default)] pub struct Classes { default: String, added : String, diff --git a/pagetop/src/html/favicon.rs b/pagetop/src/html/favicon.rs index 316d97e8..d3819cf8 100644 --- a/pagetop/src/html/favicon.rs +++ b/pagetop/src/html/favicon.rs @@ -1,5 +1,6 @@ use crate::html::{html, Markup, PreEscaped}; +#[derive(Default)] pub struct Favicon(Vec); impl Favicon { diff --git a/pagetop/src/html/identifier.rs b/pagetop/src/html/identifier.rs index bda078eb..81223993 100644 --- a/pagetop/src/html/identifier.rs +++ b/pagetop/src/html/identifier.rs @@ -1,3 +1,4 @@ +#[derive(Default)] pub struct IdentifierValue(String); impl IdentifierValue { @@ -12,7 +13,7 @@ impl IdentifierValue { } pub fn with_value(&mut self, value: &str) -> &Self { - self.0 = value.trim().replace(" ", "_"); + self.0 = value.trim().replace(' ', "_"); self }