+-- |Functions and data for working with Twitter statuses.
module Twitter.Status
where
import Twitter.User
import Twitter.Xml
+-- |Represents one Twitter status. We don't care about any of their
+-- other properties.
data Status = Status { status_id :: Integer,
created_at :: String,
text :: String,
deriving (Show, Eq)
-
+-- |Given some XML content, create a 'Status' from it.
status_from_content :: Content -> (Maybe Status)
status_from_content content =
first_user = user_from_content (users !! 0)
-
+-- |Takes an XML String as an argument, and returns the list of
+-- statuses that can be parsed from it.
parse_statuses :: String -> [Status]
parse_statuses xml_data =
catMaybes maybe_statuses
maybe_statuses = map status_from_content status_elements
--- This is a required parameter to the xmlParse function used in
--- error reporting. We're not parsing a function, though, so we
--- leave it blank.
+-- |This is a required parameter to the xmlParse function used in
+-- error reporting. We're not parsing a function, though, so we leave
+-- it blank.
xml_file_name :: String
xml_file_name = ""
+-- |Returns a nicely-formatted String representing the given 'Status'
+-- object.
pretty_print :: Status -> String
pretty_print status =
concat [ name,
+-- |Given a list of statuses, returns the greatest status_id belonging
+-- to one of the statuses in the list.
get_max_status_id :: [Status] -> Integer
get_max_status_id statuses =
maximum status_ids
where
- status_ids = map status_id statuses
\ No newline at end of file
+ status_ids = map status_id statuses