summaryrefslogtreecommitdiffstats
path: root/libimagutil
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2016-09-28 19:51:21 +0200
committerMatthias Beyer <mail@beyermatthias.de>2016-09-30 10:45:28 +0200
commitd6f705dc9036bcb9777530aa259c83ff0e11293d (patch)
treebe8cb5c0e2c76c0be72597a8e5dac13099f7990a /libimagutil
parent6999f95c4d7653b9c44960a9cb54b8675f428269 (diff)
Add is_tag clap validator helper
Diffstat (limited to 'libimagutil')
-rw-r--r--libimagutil/src/cli_validators.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/libimagutil/src/cli_validators.rs b/libimagutil/src/cli_validators.rs
index 20c4f0b8..ed102ca5 100644
--- a/libimagutil/src/cli_validators.rs
+++ b/libimagutil/src/cli_validators.rs
@@ -24,3 +24,12 @@ pub fn is_url(s: String) -> Result<(), String> {
Url::parse(&s).map(|_| ()).map_err(|_| format!("Not a URL: {}", s))
}
+pub fn is_tag(s: String) -> Result<(), String> {
+ use regex::Regex;
+ lazy_static! { static ref TAG_RE : Regex = Regex::new("[:alpha:][:word:]*").unwrap(); }
+
+ TAG_RE
+ .is_match(&s)
+ .as_result((), format!("Not a valid Tag: '{}' - Valid is [a-zA-Z][0-9a-zA-Z]*", s))
+}
+