Convert Elements to String
This commit is contained in:
parent
c92b688bc9
commit
7eb9954a05
1 changed files with 18 additions and 1 deletions
19
src/Cards.hs
19
src/Cards.hs
|
|
@ -4,6 +4,7 @@ module Cards
|
||||||
, toCards
|
, toCards
|
||||||
, toDueCards
|
, toDueCards
|
||||||
, fromCards
|
, fromCards
|
||||||
|
, elementsToString
|
||||||
, Card -- Card stuff
|
, Card -- Card stuff
|
||||||
, sides
|
, sides
|
||||||
, tier
|
, tier
|
||||||
|
|
@ -19,6 +20,7 @@ module Cards
|
||||||
, testElements
|
, testElements
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Data.List
|
||||||
import qualified Data.Map.Strict as Map
|
import qualified Data.Map.Strict as Map
|
||||||
import Data.Time
|
import Data.Time
|
||||||
|
|
||||||
|
|
@ -151,7 +153,22 @@ tierName SixtyFourDays = "64d"
|
||||||
- Converting to String
|
- Converting to String
|
||||||
-}
|
-}
|
||||||
|
|
||||||
-- TODO
|
elementsToString :: Elements -> String
|
||||||
|
elementsToString (Elements e) =
|
||||||
|
let elms = map snd $ Map.toList e
|
||||||
|
in unlines $ intercalate ["", ""] $ map (\x -> [elementToString x]) elms
|
||||||
|
|
||||||
|
elementToString :: Element -> String
|
||||||
|
elementToString (EComment str) = '#' : str
|
||||||
|
elementToString (ECard card) = cardToString card
|
||||||
|
|
||||||
|
cardToString :: Card -> String
|
||||||
|
cardToString Card{sides=s, tier=t, lastChecked=lc, offset=o} =
|
||||||
|
let info = ":: {\"level\": " ++ (show $ fromEnum t) ++
|
||||||
|
", \"last_checked\": " ++ (show $ formatTime defaultTimeLocale "%s" lc) ++
|
||||||
|
", \"delay\": " ++ (show $ fromEnum o) ++
|
||||||
|
"}"
|
||||||
|
in unlines $ info : intersperse "::" s
|
||||||
|
|
||||||
{-
|
{-
|
||||||
- Parsing
|
- Parsing
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue