Make some order
This commit is contained in:
parent
0a44c57606
commit
133b3de610
18
Main.hs
18
Main.hs
@ -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
|
Loading…
Reference in New Issue
Block a user