xp_team_id )
where
+-- System imports.
import Data.Time.Clock ( UTCTime )
import Data.Time.Format ( formatTime, parseTime )
import System.Locale ( defaultTimeLocale )
import Text.Printf ( printf )
import Text.Read ( readMaybe )
import Text.XML.HXT.Arrow.Pickle (
- XmlPickler(..),
xpText,
xpWrapMaybe )
import Text.XML.HXT.Arrow.Pickle.Xml ( PU )
-instance XmlPickler Bool where
- xpickle =
- (to_bool, from_bool) `xpWrapMaybe` xpText
- where
- to_bool :: String -> Maybe Bool
- to_bool = readMaybe
-
- from_bool :: Bool -> String
- from_bool = show
-
-- | (Un)pickle a UTCTime without the time portion.
--
from_date = formatTime defaultTimeLocale format
--- | Parse a team_id. This *should* just be an 'Int', but TSN is doing
+-- | Parse a team_id. This /should/ just be an 'Int', but TSN is doing
-- something weird. First of all, player IDs do look like normal
-- 'Int's. But the team IDs are all stuck in the triple digits, and
-- double-digit team IDs appear to be padded to three characters