feat: add hostname and full_hostname meta plugins with error handling

Co-authored-by: aider (openai/andrew.openrouter.qwen.qwen3-coder) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-07-29 12:11:46 -03:00
parent 5a41021188
commit 3de832d886
4 changed files with 130 additions and 4 deletions

View File

@@ -9,9 +9,11 @@ use enum_map::{Enum, EnumMap};
pub mod program;
pub mod digest;
pub mod basic;
use crate::meta_plugin::program::MetaPluginProgram;
use crate::meta_plugin::digest::{DigestSha256MetaPlugin, ReadTimeMetaPlugin, ReadRateMetaPlugin};
use crate::meta_plugin::basic::{HostnameMetaPlugin, FullHostnameMetaPlugin};
#[derive(Debug, Eq, PartialEq, Clone, strum::EnumIter, strum::Display, strum::EnumString, Enum)]
#[strum(ascii_case_insensitive)]
@@ -21,6 +23,8 @@ pub enum MetaPluginType {
DigestMd5,
ReadTime,
ReadRate,
Hostname,
FullHostname,
}
pub trait MetaPlugin {
@@ -54,6 +58,8 @@ lazy_static! {
}
MetaPluginType::ReadTime => None,
MetaPluginType::ReadRate => None,
MetaPluginType::Hostname => None,
MetaPluginType::FullHostname => None,
};
}
@@ -64,6 +70,8 @@ pub fn get_meta_plugin(meta_plugin_type: MetaPluginType) -> Box<dyn MetaPlugin>
MetaPluginType::DigestMd5 => Box::new(MetaPluginProgram::new("md5sum", vec![], "digest_md5".to_string(), true)),
MetaPluginType::ReadTime => Box::new(ReadTimeMetaPlugin::new()),
MetaPluginType::ReadRate => Box::new(ReadRateMetaPlugin::new()),
MetaPluginType::Hostname => Box::new(HostnameMetaPlugin::new()),
MetaPluginType::FullHostname => Box::new(FullHostnameMetaPlugin::new()),
}
}