From 00361f2bf9da7bb8244445eae2bcee5487c809d1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 27 Feb 2016 10:55:02 -0400 Subject: Support --metadata fieldnumber etc to match ranges of numeric values. Similarly (well, for free), support preferred content expressions like metadata=fieldnumber --- Limit.hs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'Limit.hs') diff --git a/Limit.hs b/Limit.hs index 174d4582d..dc38b172d 100644 --- a/Limit.hs +++ b/Limit.hs @@ -23,6 +23,7 @@ import Types.TrustLevel import Types.Group import Types.FileMatcher import Types.MetaData +import Annex.MetaData import Logs.MetaData import Logs.Group import Logs.Unused @@ -278,14 +279,12 @@ addMetaData :: String -> Annex () addMetaData = addLimit . limitMetaData limitMetaData :: MkLimit Annex -limitMetaData s = case parseMetaData s of +limitMetaData s = case parseMetaDataMatcher s of Left e -> Left e - Right (f, v) -> - let cglob = compileGlob (fromMetaValue v) CaseInsensative - in Right $ const $ checkKey (check f cglob) + Right (f, matching) -> Right $ const $ checkKey (check f matching) where - check f cglob k = not . S.null - . S.filter (matchGlob cglob . fromMetaValue) + check f matching k = not . S.null + . S.filter matching . metaDataValues f <$> getCurrentMetaData k addTimeLimit :: String -> Annex () -- cgit v1.2.3