diff --git a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari index 28e0cb2..d67500e 100755 Binary files a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari and b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari differ diff --git a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.hi b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.hi index d48ec5e..9c94547 100644 Binary files a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.hi and b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.hi differ diff --git a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.o b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.o index 7f0f465..5ec73fa 100644 Binary files a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.o and b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/build/tajemnicaatari/tajemnicaatari-tmp/Main.o differ diff --git a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/setup-config b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/setup-config index 3def4a4..7805c03 100644 Binary files a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/setup-config and b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/setup-config differ diff --git a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/stack-build-caches/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/exe-tajemnicaatari b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/stack-build-caches/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/exe-tajemnicaatari index 4568ac8..b47dc04 100644 --- a/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/stack-build-caches/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/exe-tajemnicaatari +++ b/.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.0.1.0/stack-build-caches/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/exe-tajemnicaatari @@ -1,4 +1,4 @@ /home/arab/tajemnica-atari/shadow-library.cabal: hash: 714bd61ef22b868b423c5ab32edbbca76e241ecb2075dced142701878c34217a /home/arab/tajemnica-atari/app/tajemnicaatari.hs: - hash: d6d30253647c843a66123cc3a966da1ec5db47b670cfbccc24a2b7289493980c + hash: 2ae5ec6f34912c37ccd5a6788081b676990ad5acc12fe86d6d08ead9776b94c7 diff --git a/.stack-work/install/x86_64-linux-tinfo6/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/8.2.2/bin/tajemnicaatari b/.stack-work/install/x86_64-linux-tinfo6/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/8.2.2/bin/tajemnicaatari index 342cf85..64a0f1f 100755 Binary files a/.stack-work/install/x86_64-linux-tinfo6/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/8.2.2/bin/tajemnicaatari and b/.stack-work/install/x86_64-linux-tinfo6/d71b3e2454b12a341d631285d8a546a45a73f1e0125cdb4008bd2d9f7a6a35bf/8.2.2/bin/tajemnicaatari differ diff --git a/.stack-work/stack.sqlite3 b/.stack-work/stack.sqlite3 index 23c47ce..00131d0 100644 Binary files a/.stack-work/stack.sqlite3 and b/.stack-work/stack.sqlite3 differ diff --git a/README.md b/README.md index 637578a..55fd703 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Następnie należy wykonać następujące kroki: ``` cd tajemnica-atari stack install +cd ./.local/bin/tajemnicaatari ``` diff --git a/app/tajemnicaatari.hs b/app/tajemnicaatari.hs index 3966653..40e563e 100644 --- a/app/tajemnicaatari.hs +++ b/app/tajemnicaatari.hs @@ -11,7 +11,7 @@ import Data.List.Utils (replace) import Text.Regex.Posix import Text.Printf -import Data.List.Utils +import Data.List.Utils extractRecords = extractLinksWithText "//a[@class='ramka']" -- pary adres-tytuł @@ -22,7 +22,7 @@ extractRecords = extractLinksWithText "//a[@class='ramka']" -- pary adres-tytu toShadowItem :: ((String, String), String) -> ShadowItem toShadowItem ((url, articleTitle), yearlyTitle) = (defaultShadowItem url title) { - originalDate = Just newFormatDate, + originalDate = Just newDate, itype = "periodical", format = Just "zip", finalUrl = url @@ -30,13 +30,31 @@ toShadowItem ((url, articleTitle), yearlyTitle) = where title = "Tajemnica Atari " ++ yearlyTitle ++ " " ++ (replace "\r\n" "" (replace "\r\n " "" articleTitle)) date = getDate url splitDate = split "_" date - newFormatDate = "19" ++ splitDate !! 1 ++ "-" ++splitDate !! 0 + month = splitDate !! 0 + year = splitDate !! 1 + newDate = newFormatDate month year getDate url = case url =~~ "/([1-9]_9[0-9]|1[0-2]_9[0-9]|[1-9]-[1-9]_9[0-9]|1[0-2]-1[0-2]_9[0-9])/" :: Maybe [[String]] of Just [[_, year]] -> year otherwise -> error $ "unexpected url: " ++ url - + +newFormatDate :: String -> String -> String +newFormatDate month year = + if month =~ "^[1-9]$" then "19" ++ year ++ "-0" ++ month + else if month =~ "^1[0-2]$" then "19" ++ year ++ "-" ++ month + else splittedMonth month year + +splittedMonth :: String -> String -> String +splittedMonth month year = do + if month =~ "^1*[0-9]-1*[0-9]$" then do + let firstMonth = split "-" month !! 0 + let secondMonth = split "-" month !! 1 + if firstMonth =~ "^[1-9]$" && secondMonth =~ "^[1-9]$" then "19" ++ year ++ "-0" ++ firstMonth ++ "-0" ++ secondMonth + else if firstMonth =~ "^[1-9]$" && secondMonth =~ "^1[0-9]$" then "19" ++ year ++ "-0" ++ firstMonth ++ "-" ++ secondMonth + else if firstMonth =~ "^1[1-9]$" && secondMonth =~ "^1[0-9]$" then "19" ++ year ++ "-" ++ firstMonth ++ "-" ++ secondMonth + else "wrong date" + else "wrong date" main = do let start = "http://krap.pl/mirrorz/atari/horror.mirage.com.pl/pixel/" @@ -46,3 +64,6 @@ main = do lLevel=0, webpage=start} extractItemsStartingFromUrl shadowLibrary start (extractRecords >>> arr toShadowItem) + + +