kevin 0.7.2 → 0.8
raw patch · 7 files changed
+26/−42 lines, 7 filesdep ~HTTPdep ~MonadCatchIO-transformersdep ~attoparsec
Dependency ranges changed: HTTP, MonadCatchIO-transformers, attoparsec, bytestring, containers, cprng-aes, data-default, lens, mtl, network, regex-pcre-builtin, stm, text, time, tls, tls-extra
Files
- Kevin/Base.hs +3/−18
- Kevin/Chatrooms.hs +3/−3
- Kevin/Damn/Protocol.hs +0/−1
- Kevin/Protocol.hs +1/−1
- Kevin/Types.hs +1/−1
- Kevin/Version.hs +1/−1
- kevin.cabal +17/−17
Kevin/Base.hs view
@@ -24,7 +24,6 @@ import Control.Monad.CatchIO as K import Control.Monad.Reader as K import qualified Data.ByteString.Char8 as T (hGetLine, hPutStr)-import Data.List (intercalate) import qualified Data.Text as T import qualified Data.Text.Encoding as T import Data.Typeable@@ -59,12 +58,6 @@ -- actions -padLines :: Int -> T.Text -> String-padLines len b = let (first:rest) = lines $ T.unpack b- in (++) (first ++ "\n") . intercalate "\n"- . map (replicate len ' ' ++)- $ rest- hGetCharTimeout :: Handle -> Int -> IO Char hGetCharTimeout h t = do hSetBuffering h NoBuffering@@ -83,19 +76,11 @@ instance KevinServer Kevin where readClient k = do line <- T.decodeUtf8 <$> T.hGetLine (irc k)- klog_ (logger k) Yellow $ "client <- " ++ padLines 10 line return $ T.init line- readServer k = do- line <- T.pack <$> hGetSep '\NUL' (damn k)- klog_ (logger k) Cyan $ "server <- " ++ padLines 10 line- return line+ readServer k = T.pack <$> hGetSep '\NUL' (damn k) - writeClient k pkt = do- klog_ (logger k) Blue $ "client -> " ++ padLines 10 pkt- writeChan (iChan k) pkt- writeServer k pkt = do- klog_ (logger k) Magenta $ "server -> " ++ padLines 10 pkt- writeChan (dChan k) pkt+ writeClient k = writeChan (iChan k)+ writeServer k = writeChan (dChan k) closeClient = hClose . irc closeServer = hClose . damn
Kevin/Chatrooms.hs view
@@ -48,10 +48,10 @@ removeUserAll ch us = kevin $ users.ix ch %= filter ((/= us) . username) setUsers :: Chatroom -> [User] -> KevinIO ()-setUsers ch uss = kevin $ users.at ch .= Just uss+setUsers ch uss = kevin $ users.at ch ?= uss setPrivclasses :: Chatroom -> [Privclass] -> KevinIO ()-setPrivclasses room ps = kevin $ privclasses.at room .= Just (M.fromList ps)+setPrivclasses room ps = kevin $ privclasses.at room ?= M.fromList ps getPrivclass :: Chatroom -> T.Text -> KevinIO (Maybe T.Text) getPrivclass room user = do@@ -73,4 +73,4 @@ %= (\u -> u {privclass = pc, privclassLevel = pclevel}) setTitle :: Chatroom -> T.Text -> KevinIO ()-setTitle ch t = kevin $ titles.at ch .= Just t+setTitle ch t = kevin $ titles.at ch ?= t
Kevin/Damn/Protocol.hs view
@@ -132,7 +132,6 @@ countUser <- numUsers roomname usname let us = mkUser roomname pcs modifiedPkt addUser roomname us- klogError $ show (usname, pcs, countUser, pkt, modifiedPkt, us, username us) if countUser == 0 then do I.sendJoin usname roomname
Kevin/Protocol.hs view
@@ -8,7 +8,7 @@ import qualified Kevin.Damn.Protocol as S import qualified Kevin.IRC.Protocol as C import Kevin.Util.Logger-import Prelude hiding (catch)+import Prelude watchInterrupt :: [Handler IO (Maybe Kevin)] watchInterrupt = [ handler _AsyncException throw
Kevin/Types.hs view
@@ -86,7 +86,7 @@ type KevinIO = ReaderT (TVar Kevin) IO -use_ :: Getting a Kevin t a b -> KevinIO a+use_ :: Getting a Kevin a -> KevinIO a use_ = gets_ . view get_ :: KevinIO Kevin
Kevin/Version.hs view
@@ -4,7 +4,7 @@ import Data.Version version :: Version-version = Version [0,7,2] []+version = Version [0,8] [] versionStr :: Text versionStr = pack $ showVersion version
kevin.cabal view
@@ -1,5 +1,5 @@ Name: kevin-Version: 0.7.2+Version: 0.8 Synopsis: a dAmn ↔ IRC proxy Description: a dAmn ↔ IRC proxy License: GPL@@ -19,23 +19,23 @@ Default-language: Haskell2010 - Build-Depends: attoparsec == 0.10.*,+ Build-Depends: attoparsec, base == 4.*,- bytestring == 0.9.*,- containers == 0.4.*,- cprng-aes == 0.3.*,- data-default == 0.5.*,- HTTP == 4000.2.*,- lens >= 3.8.5 && < 3.9,- MonadCatchIO-transformers == 0.3.*,- mtl == 2.1.*,- network == 2.4.*,- regex-pcre-builtin == 0.94.*,- stm == 2.4.*,- text == 0.11.*,- time == 1.4.*,- tls == 1.1.*,- tls-extra == 0.6.*+ bytestring,+ containers,+ cprng-aes,+ data-default,+ HTTP,+ lens,+ MonadCatchIO-transformers,+ mtl,+ network,+ regex-pcre-builtin,+ stm,+ text,+ time,+ tls,+ tls-extra Other-Modules: Kevin, Kevin.Base,