marvin 0.1.3 → 0.1.4
raw patch · 5 files changed
+37/−27 lines, 5 filesdep +transformersdep −mono-traversabledep ~directorydep ~http-clientdep ~marvin-interpolatePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: transformers
Dependencies removed: mono-traversable
Dependency ranges changed: directory, http-client, marvin-interpolate, mustache, wreq
API changes (from Hackage documentation)
- Marvin: data Script a_auZe
+ Marvin: data Script a_au4G
- Marvin.Types: Script :: (Handlers a_auZe) -> ScriptId -> Config -> a_auZe -> Script a_auZe
+ Marvin.Types: Script :: (Handlers a_au4G) -> ScriptId -> Config -> a_au4G -> Script a_au4G
- Marvin.Types: data Script a_auZe
+ Marvin.Types: data Script a_au4G
Files
- CHANGELOG.md +4/−0
- initializer/Main.hs +5/−5
- marvin.cabal +11/−11
- preprocessor/Main.hs +10/−10
- src/Marvin/Adapter/Telegram/Poll.hs +7/−1
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.1.2, 0.1.3, 0.1.4 - 17.02.2017++- Added manual version bounds to be compatible with stackage and the hackage build (sorry for the version spam)+ # 0.1.1 - 17.02.2017 - Added changelog
initializer/Main.hs view
@@ -3,14 +3,14 @@ import Control.Arrow (second) import Control.Monad-import Data.Containers import Data.Foldable (for_)+import Data.Maybe (isJust) import Data.Monoid ((<>))-import Data.Sequences+import qualified Data.Text as T import qualified Data.Text.IO as T import Options.Applicative import Paths_marvin-import Prelude hiding (lookup)+import Prelude import System.Directory import System.FilePath import System.IO@@ -53,7 +53,7 @@ main = do Opts{..} <- execParser infoParser d <- (</> "initializer") <$> getDataDir- unless (adapter `member` adType) $ hPutStrLn stderr "Unrecognized adapter"+ unless (isJust $ lookup adapter adType) $ hPutStrLn stderr "Unrecognized adapter" let subsData = object [ "name" ~> botname , "scriptsig" ~> maybe "IsAdapter a => ScriptInit a" ("ScriptInit " <>) (lookup adapter adType)@@ -65,7 +65,7 @@ unless exists (createDirectory dir) for_ wantFiles $ \(source, target) -> do- let targetName = unpack $ substituteValue target subsData+ let targetName = T.unpack $ substituteValue target subsData if ".mustache" == takeExtension source then do tpl <- fromEither <$> automaticCompile [d] source
marvin.cabal view
@@ -1,11 +1,12 @@ name: marvin-version: 0.1.3+version: 0.1.4 cabal-version: >=1.10 build-type: Simple license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2016 Justus Adam maintainer: dev@justus.science+stability: Beta homepage: https://marvin.readthedocs.io synopsis: A modular chat bot description:@@ -45,7 +46,7 @@ Marvin.Adapter.Telegram.Poll build-depends: base >=4.7 && <5,- wreq ==0.4.*,+ wreq >=0.4 && <0.6, aeson >=0.11 && <1.2, mtl >=2.2 && <3, lens ==4.*,@@ -62,7 +63,7 @@ text >=1.0 && <1.3, unordered-containers ==0.2.*, stm >=2.0 && <2.5,- marvin-interpolate ==1.0.*,+ marvin-interpolate >=1.0 && <1.2, lifted-base ==0.2.*, lifted-async >=0.8 && <0.10, wai ==3.*,@@ -75,9 +76,10 @@ monad-control ==1.*, deepseq ==1.*, http-types >=0.8 && <1.0,- http-client ==0.4.*,+ http-client >=0.4 && <0.6, http-client-tls >=0.2 && <0.4,- optparse-applicative >=0.11 && <1+ optparse-applicative >=0.11 && <1,+ transformers >=0.4 && <0.6 default-language: Haskell2010 default-extensions: OverloadedStrings TypeFamilies MultiParamTypeClasses TupleSections LambdaCase GADTs@@ -96,14 +98,13 @@ main-is: Main.hs build-depends: base >=4.7 && <5,- mustache >=0.2 && <2.2,- directory >=1.2.6.2 && <1.3,+ mustache >=2.0 && <2.2,+ directory ==1.2.*, filepath ==1.4.*, marvin ==0.1.*, configurator ==0.3.*, optparse-applicative >=0.11 && <1, bytestring ==0.10.*,- mono-traversable ==1.0.*, text >=1.0 && <1.3, aeson >=0.11 && <1.2 default-language: Haskell2010@@ -116,11 +117,10 @@ main-is: Main.hs build-depends: base >=4.7 && <5,- mustache >=0.2 && <2.2,- directory >=1.2.6.2 && <1.3,+ mustache >=2.0 && <2.2,+ directory ==1.2.*, filepath ==1.4.*, optparse-applicative >=0.11 && <1,- mono-traversable ==1.0.*, text >=1.0 && <1.3 default-language: Haskell2010 default-extensions: OverloadedStrings TypeFamilies
preprocessor/Main.hs view
@@ -1,16 +1,16 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TemplateHaskell #-}-import Data.Aeson hiding (object)-import qualified Data.ByteString.Lazy as B-import qualified Data.Configurator as C-import Data.Maybe (fromMaybe)-import Data.Monoid ((<>))-import Data.MonoTraversable.Unprefixed-import Data.Sequences-import qualified Data.Text.IO as T-import Marvin.Run (defaultConfigName, lookupFromAppConfig)+import Control.Monad (filterM)+import Data.Aeson hiding (object)+import qualified Data.ByteString.Lazy as B+import qualified Data.Configurator as C+import Data.List (intercalate, isPrefixOf)+import Data.Maybe (fromMaybe)+import Data.Monoid ((<>))+import qualified Data.Text.IO as T+import Marvin.Run (defaultConfigName, lookupFromAppConfig) import Options.Applicative-import Prelude hiding (elem, filter)+import Prelude import System.Directory import System.FilePath import Text.Mustache
src/Marvin/Adapter/Telegram/Poll.hs view
@@ -7,6 +7,7 @@ Stability : experimental Portability : POSIX -}+{-# LANGUAGE CPP #-} module Marvin.Adapter.Telegram.Poll ( TelegramAdapter, Poll , TelegramChat(..), ChatType(..)@@ -31,6 +32,11 @@ import Network.HTTP.Client.TLS (tlsManagerSettings) import Network.Wreq +#if MIN_VERSION_http_client(0,5,0)+import Network.HTTP.Client (responseTimeoutMicro)+#else+responseTimeoutMicro = Just+#endif data UpdateWithId = UpdateWithId {updateId :: Integer, updateContent :: TelegramUpdate Poll } @@ -44,7 +50,7 @@ timeout <- lookupFromAdapterConfig "polling-timeout" >>= readTimeout let defParams = ["timeout" := (timeout :: Int) ] nextId <- readIORef idRef- let pollSettings = defaults & manager . _Left .~ tlsManagerSettings { managerResponseTimeout = Just ((timeout + 3) * 1000)}+ let pollSettings = defaults & manager . _Left .~ tlsManagerSettings { managerResponseTimeout = responseTimeoutMicro ((timeout + 3) * 1000)} response <- execAPIMethodWith pollSettings parseJSON "getUpdates" $ maybe defParams ((:defParams) . ("offset" :=)) nextId case response of Left err -> do