From 133b3de610c909afa13796b5b4fa40ed258f3c44 Mon Sep 17 00:00:00 2001 From: Rnhmjoj Date: Sat, 22 Nov 2014 17:16:33 +0100 Subject: [PATCH] Make some order --- Main.hs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Main.hs b/Main.hs index 206382b..054d6fa 100644 --- a/Main.hs +++ b/Main.hs @@ -10,10 +10,10 @@ import Control.Lens import qualified Data.ByteString.Lazy.Char8 as C import System.Console.ArgParser import System.Process + import Json - -data Name = Name +data ProgArgs = ProgArgs { name :: String , url :: String , local :: Bool @@ -21,8 +21,8 @@ data Name = Name , raw :: Bool } deriving (Show) -parser :: ParserSpec Name -parser = Name +parser :: ParserSpec ProgArgs +parser = ProgArgs `parsedBy` reqPos "name" `Descr` "Namecoin name id" `andBy` optPos "http://dns.dnschain.net/" "url" `Descr` "Use custom dnschain API url" @@ -30,11 +30,8 @@ parser = Name `andBy` boolFlag "block" `Descr` "Show blockchain data (require local connecton)" `andBy` boolFlag "raw" `Descr` "Print raw JSON data" -main :: IO () -main = mkApp parser >>= flip runApp exec - -exec :: Name -> IO () -exec args@Name{..} = +exec :: ProgArgs -> IO () +exec args@ProgArgs{..} = if local then do out <- readProcess "namecoind" ["name_show", name] "" @@ -55,3 +52,6 @@ exec args@Name{..} = case decode body of Just res -> repr res Nothing -> "Error parsing data" + +main :: IO () +main = mkApp parser >>= flip runApp exec \ No newline at end of file