aboutsummaryrefslogtreecommitdiffhomepage
path: root/scaffolder/src/Text/Edifact/Fetcher/Simples.hs
diff options
context:
space:
mode:
Diffstat (limited to 'scaffolder/src/Text/Edifact/Fetcher/Simples.hs')
-rw-r--r--scaffolder/src/Text/Edifact/Fetcher/Simples.hs27
1 files changed, 27 insertions, 0 deletions
diff --git a/scaffolder/src/Text/Edifact/Fetcher/Simples.hs b/scaffolder/src/Text/Edifact/Fetcher/Simples.hs
new file mode 100644
index 0000000..47951ad
--- /dev/null
+++ b/scaffolder/src/Text/Edifact/Fetcher/Simples.hs
@@ -0,0 +1,27 @@
1{-# LANGUAGE OverloadedStrings #-}
2
3module Text.Edifact.Fetcher.Simples
4 ( fetchSimples
5 , simplesDirectory
6 ) where
7
8import Text.Edifact.Fetcher.Commons
9import Text.Edifact.Scaffolder.Commons
10
11
12import Data.Foldable (traverse_)
13import Data.Text.Encoding as TE (decodeUtf8)
14import Formatting
15
16simplesDirectory :: FilePath
17simplesDirectory = "simples"
18
19fetchSimples :: [SimpleCode] -> Fetcher ()
20fetchSimples = traverse_ (retry 3 . fetchSimple)
21
22fetchSimple :: SimpleCode -> Fetcher ()
23fetchSimple code = do
24 say ("Fetching simple " % fSimpleCode) code
25 url <- getUrl ("/uncl/uncl" % fSimpleCodeLower % ".htm") code
26 outputFile <- getOutputFile (fSimpleCodeLower % ".txt") simplesDirectory code
27 htmlToFile url TE.decodeUtf8 outputFile