X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/e7724ccc46708250aeed86898c6f119bac5fe03d..31463db58ffa3ce346bdbf613a00263d14b17405:/Ganeti/HTools/Container.hs diff --git a/Ganeti/HTools/Container.hs b/Ganeti/HTools/Container.hs index 9d8e56c..335c5b9 100644 --- a/Ganeti/HTools/Container.hs +++ b/Ganeti/HTools/Container.hs @@ -48,7 +48,6 @@ module Ganeti.HTools.Container , keys -- * Element functions , nameOf - , maxNameLen , findByName ) where @@ -99,16 +98,12 @@ addTwo k1 v1 k2 v2 = add k1 v1 . add k2 v2 nameOf :: (T.Element a) => Container a -> Key -> String nameOf c k = T.nameOf $ find k c --- | Compute the maximum name length in an Element Container. -maxNameLen :: (T.Element a) => Container a -> Int -maxNameLen = maximum . map (length . T.nameOf) . elems - -- | Find an element by name in a Container; this is a very slow function. findByName :: (T.Element a, Monad m) => Container a -> String -> m a findByName c n = let all_elems = elems c - result = filter ((== n) . T.nameOf) all_elems + result = filter ((n `elem`) . T.allNames) all_elems in case result of [item] -> return item _ -> fail $ "Wrong number of elems found with name " ++ n