3 import System.Environment (getArgs)
4 import qualified Data.ByteString.Char8 as BC
5 import qualified Bencode as Benc
6 import qualified Metainfo as MInfo
7 import Text.ParserCombinators.Parsec
9 printError :: ParseError -> IO ()
10 printError e = putStrLn "parse error"
15 torrentStr <- BC.readFile (head args)
16 case (Benc.decode torrentStr) of
17 Right d -> case (MInfo.mkMetaInfo d) of
18 Nothing -> putStrLn "parse error"
19 Just m -> putStrLn (show m)
20 Left e -> printError e