+ dom <- queryNmc mgr cfg "+" key
+ putStrLn $ ppShow dom
+ putStr $ pdnsOut 1 "+" key RRTypeANY dom
+
+-- using file backend for testing json domain data
+
+queryFile :: String -> IO (Either String ByteString)
+queryFile key = catch (readFile key >>= return . Right)
+ (\e -> return (Left (show (e :: IOException))))
+
+mainFile key = do
+ dom <- descendNmcDom queryFile [] (seedNmcDom key)
+ putStrLn $ ppShow dom
+ putStr $ pdnsOut 1 "+" key RRTypeANY dom
+
+-- Entry point
+
+main = do
+ args <- getArgs
+ case args of
+ [] -> mainNmc
+ [key] -> mainOne key
+ ["-f",key] -> mainFile key
+ _ -> error $ "usage: empty args, or \"<key>\", or \"-f <key>\""