packages feed

wolf 0.3.14 → 0.3.15

raw patch · 3 files changed

+18/−65 lines, 3 filesdep −amazonka-s3

Dependencies removed: amazonka-s3

Files

src/Network/AWS/Wolf/Act.hs view
@@ -14,31 +14,36 @@ import Network.AWS.Wolf.Ctx import Network.AWS.Wolf.File import Network.AWS.Wolf.Prelude-import Network.AWS.Wolf.S3 import Network.AWS.Wolf.SWF import Network.AWS.Wolf.Types import System.Process +-- | S3 copy call.+--+cp :: MonadIO m => FilePath -> FilePath -> m ()+cp f t = liftIO $ callProcess "aws" [ "s3", "cp", "--recursive", f, t ]++-- | Key to download and upload objects from.+--+key :: MonadAmazonStore c m => m FilePath+key = do+  b <- view cBucket <$> view ccConf+  p <- view ascPrefix+  return $ "s3:/" -/- textToString b -/- textToString p+ -- | Download artifacts to the store input directory. -- download :: MonadAmazonStore c m => FilePath -> m () download dir = do-  ks <- listArtifacts-  forM_ ks $ \k -> do-    traceInfo "get-artifact" [ "key" .= k ]-    let file = dir </> textToString k-    touchDirectory file-    getArtifact file k+  traceInfo "download" [ "dir" .= dir ]+  flip cp dir =<< key  -- | Upload artifacts from the store output directory. -- upload :: MonadAmazonStore c m => FilePath -> m () upload dir = do-  fs <- findRegularFiles dir-  forM_ fs $ \f -> do-    let k = stripPrefix' (textFromString dir) (textFromString f)-    traceInfo "put-artifact" [ "key" .= k ]-    traverse (putArtifact f) k+  traceInfo "upload" [ "dir" .= dir ]+  cp dir =<< key  -- | callCommand wrapper that maybe returns an exception. --
− src/Network/AWS/Wolf/S3.hs
@@ -1,50 +0,0 @@-{-# LANGUAGE FlexibleContexts  #-}-{-# LANGUAGE NoImplicitPrelude #-}---- | S3 Calls.----module Network.AWS.Wolf.S3-  ( listArtifacts-  , getArtifact-  , putArtifact-  ) where--import Control.Monad.Trans.AWS-import Data.Conduit-import Data.Conduit.Binary-import Data.Conduit.Combinators hiding (sinkFile, sourceFile)-import Data.Conduit.List        hiding (map, mapMaybe)-import Data.Text-import Network.AWS.Data.Body-import Network.AWS.Data.Text-import Network.AWS.S3           hiding (cBucket)-import Network.AWS.Wolf.Prelude-import Network.AWS.Wolf.Types---- | List keys in bucket with prefix.----listArtifacts :: MonadAmazonStore c m => m [Text]-listArtifacts = do-  b    <- view cBucket <$> view ccConf-  p    <- view ascPrefix-  lors <- paginate (set loPrefix (return p) $ listObjects (BucketName b)) $$ consume-  return $ mapMaybe (stripPrefix' p) $ toText . view oKey <$> join (view lorsContents <$> lors)---- | Get object in bucket with key.----getArtifact :: MonadAmazonStore c m => FilePath -> Text -> m ()-getArtifact file key = do-  b    <- view cBucket <$> view ccConf-  p    <- view ascPrefix-  gors <- send $ getObject (BucketName b) (ObjectKey (p -/- key))-  sinkBody (gors ^. gorsBody) (sinkFile file)---- | Put object in bucket with key.----putArtifact :: MonadAmazonStore c m => FilePath -> Text -> m ()-putArtifact file key = do-  b          <- view cBucket <$> view ccConf-  p          <- view ascPrefix-  (sha, len) <- sourceFile file $$ getZipSink $ (,) <$> ZipSink sinkSHA256 <*> ZipSink lengthE-  void $ send $ putObject (BucketName b) (ObjectKey (p -/- key)) $-    Hashed $ HashedStream sha len $ sourceFile file
wolf.cabal view
@@ -1,5 +1,5 @@ name:                  wolf-version:               0.3.14+version:               0.3.15 synopsis:              Amazon Simple Workflow Service Wrapper. description:           Wolf is a wrapper around Amazon Simple Workflow Service. homepage:              https://github.com/swift-nav/wolf@@ -24,7 +24,6 @@                      , Network.AWS.Wolf.Decide                      , Network.AWS.Wolf.File                      , Network.AWS.Wolf.Prelude-                     , Network.AWS.Wolf.S3                      , Network.AWS.Wolf.SWF                      , Network.AWS.Wolf.Types                      , Network.AWS.Wolf.Types.Ctx@@ -36,7 +35,6 @@   build-depends:       aeson                      , amazonka                      , amazonka-core-                     , amazonka-s3                      , amazonka-swf                      , base == 4.8.*                      , bytestring