getDate fix

This commit is contained in:
domzal 2022-05-13 13:32:05 +02:00
parent 07a854f8e2
commit 423e221f7d
4 changed files with 82 additions and 5 deletions

50
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,50 @@
{
// Automatically created by phoityne-vscode extension.
"version": "2.0.0",
"presentation": {
"reveal": "always",
"panel": "new"
},
"tasks": [
{
// F7
"group": {
"kind": "build",
"isDefault": true
},
"label": "haskell build",
"type": "shell",
//"command": "cabal configure && cabal build"
"command": "stack build"
},
{
// F6
"group": "build",
"type": "shell",
"label": "haskell clean & build",
//"command": "cabal clean && cabal configure && cabal build"
"command": "stack clean && stack build"
//"command": "stack clean ; stack build" // for powershell
},
{
// F8
"group": {
"kind": "test",
"isDefault": true
},
"type": "shell",
"label": "haskell test",
//"command": "cabal test"
"command": "stack test"
},
{
// F6
"isBackground": true,
"type": "shell",
"label": "haskell watch",
"command": "stack build --test --no-run-tests --file-watch"
}
]
}

View File

@ -7,7 +7,8 @@ import Text.XML.HXT.XPath
import Text.XML.HXT.Curl import Text.XML.HXT.Curl
import Data.List import Data.List
import Data.List.Utils (replace) import Data.List.Utils (replace)
import Text.Regex.TDFA
-- import Text.Regex.TDFA.Text ()
import Text.Regex.Posix import Text.Regex.Posix
import Text.Printf import Text.Printf
@ -29,10 +30,14 @@ toShadowItem (((url, articleTitle), yearlyTitle), journalTitle) =
where title = replace "\n" "" (replace "\t" "" (journalTitle ++ " " ++ yearlyTitle ++ " " ++ articleTitle)) where title = replace "\n" "" (replace "\t" "" (journalTitle ++ " " ++ yearlyTitle ++ " " ++ articleTitle))
date = getDate yearlyTitle date = getDate yearlyTitle
getDate yearlyTitle = -- getDate yearlyTitle =
case yearlyTitle =~~ "(19[0-9][0-9]|20[0-9][0-9])" :: Maybe [[String]] of -- case yearlyTitle =~~ "(19[0-9][0-9]|20[0-9][0-9])" :: Maybe [[String]] of
Just [[_, year]] -> year -- Just [[_, year]] -> year
otherwise -> error $ "unexpected text: " ++ yearlyTitle -- otherwise -> error $ "unexpected text: " ++ yearlyTitle
getDate :: String -> String
getDate yearlyTitle = date where
date = yearlyTitle Text.Regex.TDFA.=~ "(19[0-9][0-9]|20[0-9][0-9])" :: String
main = do main = do

View File

@ -28,6 +28,7 @@ library
, network-uri , network-uri
, regex-pcre , regex-pcre
, regex-tdfa , regex-tdfa
, regex-tdfa-text
, resourcet , resourcet
, text , text
, time , time
@ -70,6 +71,8 @@ executable otwarteczasopismauam
, hxt-curl , hxt-curl
, MissingH , MissingH
, regex-posix , regex-posix
, regex-tdfa
, regex-tdfa-text
, shadow-library , shadow-library
default-language: Haskell2010 default-language: Haskell2010

19
stack.yaml.lock Normal file
View File

@ -0,0 +1,19 @@
# This file was autogenerated by Stack.
# You should not edit this file by hand.
# For more information, please see the documentation at:
# https://docs.haskellstack.org/en/stable/lock_files
packages:
- completed:
hackage: hxt-xpath-9.1.2.2@sha256:9cd590ae93a04573db8f90fa4094625ebd97dded45da7667c577ce6b38a42900,1999
pantry-tree:
size: 2225
sha256: aee2f75974e868ff429b8ff349a29667536c60397098f5dfedc968d1951511bb
original:
hackage: hxt-xpath-9.1.2.2
snapshots:
- completed:
size: 507596
url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/11/9.yaml
sha256: 42f472dbf06482da1b3319241f3e3b3593a45bd7d4f537d2789f21386b9b2ad3
original: lts-11.9