]> git.rkrishnan.org Git - functorrent.git/commitdiff
move torrentToMetainfo into Metainfo module
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Sun, 12 Jul 2015 15:52:30 +0000 (21:22 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Sun, 12 Jul 2015 15:52:30 +0000 (21:22 +0530)
src/FuncTorrent.hs
src/FuncTorrent/Metainfo.hs
src/Main.hs

index 59fe32f446dac27ed82807b209240408f118f294..576e6b5d07b9ec9eeba25a9857fdd2b45f6adae2 100644 (file)
@@ -13,7 +13,7 @@ module FuncTorrent
      logMessage,
      logStop,
      mkInfo,
-     mkMetaInfo
+     torrentToMetainfo
     ) where
 
 import FuncTorrent.Bencode
index 4eece7d5248a0ff257c1f9e02dd9d2e31b924a9e..daf008f25181b5237ca485891e5bb252cde32271 100644 (file)
@@ -2,7 +2,7 @@ module FuncTorrent.Metainfo
     (Info(..),
      Metainfo(..),
      mkInfo,
-     mkMetaInfo
+     torrentToMetainfo
     ) where
 
 import Prelude hiding (lookup)
@@ -11,7 +11,7 @@ import Data.Map as M ((!), lookup)
 import Crypto.Hash.SHA1 (hash)
 import Data.Maybe (maybeToList)
 
-import FuncTorrent.Bencode (BVal(..), encode, bstrToString, bValToInteger)
+import FuncTorrent.Bencode (BVal(..), encode, decode, bstrToString, bValToInteger)
 
 -- only single file mode supported for the time being.
 data Info = Info { pieceLength :: !Integer
@@ -80,3 +80,11 @@ getAnnounceList (Just (Blist l)) = map (\s -> case s of
                                                _ -> "") l
 
 getAnnounceList (Just (Bdict _)) = []
+
+torrentToMetainfo :: ByteString -> Either String Metainfo
+torrentToMetainfo s =
+  case (decode s) of
+   Right d ->
+     mkMetaInfo d
+   Left e ->
+     Left $ show e
index 7ba6d96c3bbe5884df4aab5b4de3e3a44278d700..f86e32c6849399d479ffb8f782ab821dd670f54f 100644 (file)
@@ -7,9 +7,8 @@ import System.Environment (getArgs)
 import System.Exit (exitSuccess)
 import System.Directory (doesFileExist)
 
-import FuncTorrent.Bencode (decode)
 import FuncTorrent.Logger (initLogger, logMessage, logStop)
-import FuncTorrent.Metainfo (Info(..), Metainfo(..), mkMetaInfo)
+import FuncTorrent.Metainfo (Info(..), Metainfo(..), torrentToMetainfo)
 import FuncTorrent.Peer (handShake, msgLoop)
 import FuncTorrent.Tracker (peers, getTrackerResponse)
 
@@ -34,14 +33,6 @@ parse [a] = do
     else error "file does not exist"
 parse _ = exit
 
-torrentToMetaInfo :: ByteString -> Either String Metainfo
-torrentToMetaInfo s =
-  case (decode s) of
-   Right d ->
-     mkMetaInfo d
-   Left e ->
-     Left $ show e
-
 main :: IO ()
 main = do
     args <- getArgs
@@ -50,7 +41,7 @@ main = do
     log "Starting up functorrent"
     log $ "Parsing arguments " ++ concat args
     torrentStr <- parse args
-    case (torrentToMetaInfo torrentStr) of
+    case (torrentToMetainfo torrentStr) of
      Right m -> do
        log "Input File OK"
        log $ "Downloading file : " ++ name (info m)