rowToItem :: [SqlValue] -> RSSItem
rowToItem (t:u:f:a:g:p:eu:et:id:ur:[]) = RSSItem (mfsql t)  (mfsql u)  (mfsql f)
                                               Nothing    (mfsql a)  (mfsql g)
                                               (mfsql p)  (mfsql eu) (mfsql et)
                                               (mfsql id) (bfsql ur)
    where mfsql :: (Convertible SqlValue a) => SqlValue -> Maybe a
          mfsql v = Just $ fromSql v
          bfsql :: SqlValue -> Maybe Bool
          bfsql v = Just $ intToBool $ fromSql v
              where intToBool :: Int -> Bool
                    intToBool 0 = False
                    intToBool _ = True
rowToItem :: [SqlValue] -> RSSItem
rowToItem (t:u:f:a:g:p:eu:et:id:ur:[]) = RSSItem (mfsql t)  (mfsql u)  (mfsql f)
                                               Nothing    (mfsql a)  (mfsql g)
                                               (mfsql p)  (mfsql eu) (mfsql et)
                                               (mfsql id) (bfsql ur)
    where mfsql :: (Convertible SqlValue a) => SqlValue -> Maybe a
          mfsql v = Just $ fromSql v
          bfsql :: SqlValue -> Maybe Bool
          bfsql v = Just $ intToBool $ fromSql v
              where intToBool :: Int -> Bool
                    intToBool 0 = False
                    intToBool _ = True
rowToItem (t:u:f:a:g:p:eu:et:id:ur:[]) = RSSItem (mfsql t)  (mfsql u)  (mfsql f)
                                               Nothing    (mfsql a)  (mfsql g)
                                               (mfsql p)  (mfsql eu) (mfsql et)
                                               (mfsql id) (bfsql ur)
    where mfsql :: (Convertible SqlValue a) => SqlValue -> Maybe a
          mfsql v = Just $ fromSql v
          bfsql :: SqlValue -> Maybe Bool
          bfsql v = Just $ intToBool $ fromSql v
              where intToBool :: Int -> Bool
                    intToBool 0 = False
                    intToBool _ = True