Revision 175cc337 Ganeti/HTools/CLI.hs
b/Ganeti/HTools/CLI.hs | ||
---|---|---|
60 | 60 |
, oShowHelp |
61 | 61 |
) where |
62 | 62 |
|
63 |
import Control.Exception |
|
63 | 64 |
import Data.Maybe (isJust, fromJust, fromMaybe) |
64 | 65 |
import qualified Data.Version |
65 | 66 |
import Monad |
... | ... | |
312 | 313 |
\ fi\n\ |
313 | 314 |
\}\n\n" |
314 | 315 |
|
316 |
-- | Error beautifier |
|
317 |
wrapIO :: IO (Result a) -> IO (Result a) |
|
318 |
wrapIO act = |
|
319 |
handle (\e -> return $ Bad $ show e) |
|
320 |
act |
|
321 |
|
|
315 | 322 |
-- | External tool data loader from a variety of sources. |
316 | 323 |
loadExternalData :: Options |
317 | 324 |
-> IO (Node.List, Instance.List, String) |
... | ... | |
335 | 342 |
|
336 | 343 |
input_data <- |
337 | 344 |
case () of |
338 |
_ | mhost /= "" -> Rapi.loadData mhost
|
|
339 |
| isJust lsock -> Luxi.loadData $ fromJust lsock
|
|
340 |
| otherwise -> Text.loadData nodef instf |
|
345 |
_ | setRapi -> wrapIO $ Rapi.loadData mhost
|
|
346 |
| setLuxi -> wrapIO $ Luxi.loadData $ fromJust lsock
|
|
347 |
| otherwise -> wrapIO $ Text.loadData nodef instf
|
|
341 | 348 |
|
342 | 349 |
let ldresult = input_data >>= Loader.mergeData |
343 | 350 |
(loaded_nl, il, csf) <- |
Also available in: Unified diff