Make some order

This commit is contained in:
Rnhmjoj 2014-11-22 17:16:33 +01:00
parent 0a44c57606
commit 133b3de610

18
Main.hs
View File

@ -10,10 +10,10 @@ import Control.Lens
import qualified Data.ByteString.Lazy.Char8 as C import qualified Data.ByteString.Lazy.Char8 as C
import System.Console.ArgParser import System.Console.ArgParser
import System.Process import System.Process
import Json import Json
data ProgArgs = ProgArgs
data Name = Name
{ name :: String { name :: String
, url :: String , url :: String
, local :: Bool , local :: Bool
@ -21,8 +21,8 @@ data Name = Name
, raw :: Bool , raw :: Bool
} deriving (Show) } deriving (Show)
parser :: ParserSpec Name parser :: ParserSpec ProgArgs
parser = Name parser = ProgArgs
`parsedBy` reqPos "name" `Descr` "Namecoin name id" `parsedBy` reqPos "name" `Descr` "Namecoin name id"
`andBy` optPos "http://dns.dnschain.net/" "url" `andBy` optPos "http://dns.dnschain.net/" "url"
`Descr` "Use custom dnschain API 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 "block" `Descr` "Show blockchain data (require local connecton)"
`andBy` boolFlag "raw" `Descr` "Print raw JSON data" `andBy` boolFlag "raw" `Descr` "Print raw JSON data"
main :: IO () exec :: ProgArgs -> IO ()
main = mkApp parser >>= flip runApp exec exec args@ProgArgs{..} =
exec :: Name -> IO ()
exec args@Name{..} =
if local if local
then do then do
out <- readProcess "namecoind" ["name_show", name] "" out <- readProcess "namecoind" ["name_show", name] ""
@ -55,3 +52,6 @@ exec args@Name{..} =
case decode body of case decode body of
Just res -> repr res Just res -> repr res
Nothing -> "Error parsing data" Nothing -> "Error parsing data"
main :: IO ()
main = mkApp parser >>= flip runApp exec