X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/3add7574dbba0f557769f6dbed81deda12d2b9f4..070eec157eefc2f136baa801135247b3beffc038:/src/htools.hs diff --git a/src/htools.hs b/src/htools.hs index e23fcd3..7770b2c 100644 --- a/src/htools.hs +++ b/src/htools.hs @@ -25,38 +25,4 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA module Main (main) where -import Control.Exception -import Control.Monad (guard) -import Data.Char (toLower) -import System.Environment -import System.IO -import System.IO.Error (isDoesNotExistError) - -import Ganeti.Common (formatCommands) -import Ganeti.HTools.CLI (parseOpts, genericOpts) -import Ganeti.HTools.Program (personalities) -import Ganeti.Utils - --- | Display usage and exit. -usage :: String -> IO () -usage name = do - hPutStrLn stderr $ "Unrecognised personality '" ++ name ++ "'." - hPutStrLn stderr "This program must be installed under one of the following\ - \ names:" - hPutStrLn stderr . unlines $ formatCommands personalities - exitErr "Please either rename/symlink the program or set\n\ - \the environment variable HTOOLS to the desired role." - -main :: IO () -main = do - binary <- catchJust (guard . isDoesNotExistError) - (getEnv "HTOOLS") (const getProgName) - let name = map toLower binary - case name `lookup` personalities of - Nothing -> usage name - Just (fn, options, arguments, _) -> do - cmd_args <- getArgs - real_options <- options - (opts, args) <- parseOpts cmd_args name (real_options ++ genericOpts) - arguments - fn opts args +import Ganeti.HTools.Program.Main (main)