crawlchain-0.1.0.8: src/Network/CrawlChain/Storing.hs
module Network.CrawlChain.Storing where
import System.Directory
buildCurlCmd :: Maybe String -> String -> String -> IO String
buildCurlCmd dir destination url = do
targetPath <- buildAndCreateTargetDir False dir destination
return $ curlLoadAction targetPath url
where
curlLoadAction targetPath url = "curl -s -o " ++ targetPath ++ " " ++ url ++ "\n"
buildAndCreateTargetDir :: Bool -> Maybe String -> String -> IO String
buildAndCreateTargetDir createDir dir dest = do
maybe
(return dest)
(\dir' -> do
if createDir
then createDirectoryIfMissing True dir'
else return ()
return (dir' ++ "/" ++ dest)
)
dir
makeFilename :: String -> String -> String -> String
makeFilename series season episode = series ++ "-S" ++ season++ "E" ++ episode ++ ".mp4"