On Tue, Dec 21, 2010 at 16:35, Iustin Pop <ius...@google.com> wrote:

> We change processData to just load the data, and return a simpler
> type.
> ---
>  hscan.hs |   18 ++++++++----------
>  1 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/hscan.hs b/hscan.hs
> index 631c061..b2a4a9f 100644
> --- a/hscan.hs
> +++ b/hscan.hs
> @@ -38,7 +38,6 @@ import Text.Printf (printf)
>
>  import qualified Ganeti.HTools.Container as Container
>  import qualified Ganeti.HTools.Cluster as Cluster
> -import qualified Ganeti.HTools.Group as Group
>  import qualified Ganeti.HTools.Node as Node
>  import qualified Ganeti.HTools.Instance as Instance
>  #ifndef NO_CURL
> @@ -89,26 +88,25 @@ fixSlash :: String -> String
>  fixSlash = map (\x -> if x == '/' then '_' else x)
>
>
> --- | Generates serialized data from loader input
> -processData :: Result ClusterData
> -            -> Result (Group.List, Node.List, Instance.List, String)
> +-- | Generates serialized data from loader input.
> +processData :: Result ClusterData -> Result ClusterData
>  processData input_data = do
> -  cdata@(ClusterData gl nl il _) <- input_data >>= mergeData [] [] []
> +  cdata@(ClusterData _ nl il _) <- input_data >>= mergeData [] [] []
>   let (_, fix_nl) = checkData nl il
> -      adata = serializeCluster cdata
> -  return (gl, fix_nl, il, adata)
> +  return cdata { cdNodes = fix_nl }
>
>  -- | Writes cluster data out
>  writeData :: Int
>           -> String
>           -> Options
> -          -> Result (Group.List, Node.List, Instance.List, String)
> +          -> Result ClusterData
>           -> IO Bool
>  writeData _ name _ (Bad err) =
>   printf "\nError for %s: failed to load data. Details:\n%s\n" name err >>
>   return False
>
> -writeData nlen name opts (Ok (_, nl, il, adata)) = do
> +writeData nlen name opts (Ok cdata) = do
> +  let (ClusterData _ nl il _) = cdata
>   printf "%-*s " nlen name :: IO ()
>   hFlush stdout
>   let shownodes = optShowNodes opts
> @@ -118,7 +116,7 @@ writeData nlen name opts (Ok (_, nl, il, adata)) = do
>   hFlush stdout
>   when (isJust shownodes) $
>        putStr $ Cluster.printNodes nl (fromJust shownodes)
> -  writeFile (oname <.> "data") adata
> +  writeFile (oname <.> "data") (serializeCluster cdata)
>   return True
>
>  -- | Main function.
> --
> 1.7.3.1
>
>
LGTM

Reply via email to