aboutsummaryrefslogtreecommitdiff
path: root/src/BirthdateParser.hs
diff options
context:
space:
mode:
authorJoris2015-11-21 21:41:38 +0100
committerJoris2015-11-21 21:41:38 +0100
commit5375ad26dd78220185f1ffe05222250c06dc1a0c (patch)
tree30998d4fe19206e8c5c9e564db116d2022e5e313 /src/BirthdateParser.hs
parent7acd7a42f7663aa79d18e24bdb9fe19bf15f8fae (diff)
downloadevents-5375ad26dd78220185f1ffe05222250c06dc1a0c.tar.gz
events-5375ad26dd78220185f1ffe05222250c06dc1a0c.tar.bz2
events-5375ad26dd78220185f1ffe05222250c06dc1a0c.zip
Get next week birthdays and send an empty mail for the moment
Diffstat (limited to 'src/BirthdateParser.hs')
-rw-r--r--src/BirthdateParser.hs57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/BirthdateParser.hs b/src/BirthdateParser.hs
deleted file mode 100644
index 9fa7c50..0000000
--- a/src/BirthdateParser.hs
+++ /dev/null
@@ -1,57 +0,0 @@
-module BirthdateParser
- ( parseBirthdates
- ) where
-
-import Control.Arrow (left)
-
-import Data.Text (Text)
-import qualified Data.Text as T
-
-import Text.ParserCombinators.Parsec
-
-import Birthdate
-import Date
-
-parseBirthdates :: Text -> Either Text [Birthdate]
-parseBirthdates input =
- left
- (T.pack . show)
- (parse birthdatesParser "" (T.unpack input))
-
-birthdatesParser :: Parser [Birthdate]
-birthdatesParser = many (many newline >> birthdateParser <* many newline)
-
-birthdateParser :: Parser Birthdate
-birthdateParser =
- Birthdate <$>
- dateParser <* spaces <* char ',' <*>
- valueParser <* char ',' <*>
- valueParser
-
-valueParser :: Parser Text
-valueParser = T.strip . T.pack <$> many (noneOf ",\n")
-
-dateParser :: Parser Date
-dateParser =
- Date <$>
- integerParser <* spaces <*>
- monthParser <* spaces <*>
- integerParser
-
-integerParser :: Parser Int
-integerParser = (read :: String -> Int) <$> many1 digit
-
-monthParser :: Parser Int
-monthParser =
- (try $ string "Jan" >> return 1)
- <|> (try $ string "Feb" >> return 2)
- <|> (try $ string "Mar" >> return 3)
- <|> (try $ string "Apr" >> return 4)
- <|> (try $ string "May" >> return 5)
- <|> (try $ string "Jun" >> return 6)
- <|> (try $ string "Jul" >> return 7)
- <|> (try $ string "Aug" >> return 8)
- <|> (try $ string "Sep" >> return 9)
- <|> (try $ string "Oct" >> return 10)
- <|> (try $ string "Nov" >> return 11)
- <|> (try $ string "Dec" >> return 12)