初めは洒落てた、
どこかの国の洒落たびー
だから何だよ、結局、これ
そして、帰りたい
自力でいけるか、長い
やることなくなって結局こうなる。
長いGW開始したけど、皆さんお元気で.....
getFileMimeType :: String -> IO (Maybe ImageContents) getFileMimeType file = do magic <- magicOpen [MagicMimeType] magicLoadDefault magic mt <- try $ magicFile magic file case mt of Left (err::IOException) -> return Nothing Right mimeType -> do contents <- bracket (openFile file ReadMode) hClose hGetContents return $ return $ ImageContents { unMimeType = packChars mimeType, unImageBuff = contents }
getUsers :: Param -> HandlerFor App ([(E.Entity UsrMember, E.Value Text, E.Value Int)], Int) getUsers p = runDB $ do let pagePerLine = fromIntegral $ unPagePerLine p page = fromIntegral $ unPageNum p reqId = fromIntegral $ unReqId p typeIds = [1, 2] (ageFrom, ageTo) = (unAgeFrom p, unAgeTo p) baseQuery = E.from $ \(usrMember `E.InnerJoin` usrImage `E.InnerJoin` usrAgeView) -> do E.on $ usrMember E.^. UsrMemberUsrMemberId E.==. usrAgeView E.^. UsrAgeViewUid E.on $ usrMember E.^. UsrMemberUsrMemberId E.==. usrImage E.^. UsrImageUsrId E.where_ $ do let reqQuery = usrMember E.^. UsrMemberReqId E.==. E.val reqId ageQuery = usrAgeView E.^. UsrAgeViewAge E.>=. E.val ageFrom E.&&. usrAgeView E.^. UsrAgeViewAge E.<=. E.val ageTo usrMember E.^. UsrMemberTypeId `E.in_` E.valList typeIds E.&&. (if reqId > 0 then reqQuery else E.val True) E.&&. (if ageFrom > 0 && ageTo > 0 then ageQuery else E.val True) E.&&. usrImage E.^. UsrImageImageDiv E.==. E.val 2 return (usrMember, usrImage E.^. UsrImageFileName, usrAgeView E.^. UsrAgeViewAge) baseQueryPage = do r <- baseQuery; E.offset (pagePerLine * page); E.limit pagePerLine; return r cnt <- Import.length <$> E.select baseQuery s <- E.select baseQueryPage return (s, cnt)
(define-obsolete-variable-alias 'last-command-char 'last-command-event "at least 19.34")