import Text.HTML.TagSoup
import System.Environment
import System.Directory
import System.FilePath
import Wiki4e.Commands
import System.IO
import Network.URL
defaultEbookName = "Wikipedia_Articles_From_Firefox"
main = do
name <- getProgName
args <- getArgs
case args of
[] -> firefox2epub defaultEbookName
['-':_] -> usageHelp name
['/':_] -> usageHelp name
[xs] -> firefox2epub xs
_ -> usageHelp name
usageHelp name = putStrLn $ "Usage: " ++ name ++ " [
]"
getWiki4eDir = getAppUserDataDirectory "wiki4e"
firefox2epub bookName = do
xs <- wiki4e_listFirefoxURLs
tmpDir <- getWiki4eDir
let tmpDirFetch = tmpDir > "wiki4e_fetch"
let tmpDirSanitize = tmpDir > "wiki4e_sanitize"
let tmpDirImgs = tmpDir > "wiki4e_images"
createDirectoryIfMissing True tmpDirFetch
createDirectoryIfMissing True tmpDirSanitize
createDirectoryIfMissing True tmpDirImgs
putStrLn "# STAGE 1/4 - Download Articles..."
wiki4e_fetchArticles tmpDirFetch xs
putStrLn "# STAGE 2/4 - Sanitize Articles..."
wiki4e_sanitizeArticles tmpDirFetch tmpDirSanitize
putStrLn "# STAGE 3/4 - Download Images..."
imgs <- wiki4e_listArticlesImages tmpDirFetch
wiki4e_fetchImages tmpDirImgs imgs
putStrLn "# STAGE 4/4 - Constructing EPUB..."
wiki4e_createEpub bookName tmpDirSanitize tmpDirImgs
putStrLn "Done."