diff options
author | Joey Hess <joey@kitenet.net> | 2011-10-16 00:04:26 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-10-16 00:04:26 -0400 |
commit | 91366c896d9c9cb4519b451a64ed4d1e0ff52cb3 (patch) | |
tree | f9c7073002f68f1b53ba62890794474301a7253a | |
parent | 52c8244219dd90102818282b8b09186f2ce93a0f (diff) |
clean Annex stuff out of Utility/
-rw-r--r-- | Annex/Ssh.hs (renamed from Utility/Ssh.hs) | 2 | ||||
-rw-r--r-- | Command/AddUrl.hs | 2 | ||||
-rw-r--r-- | Command/Map.hs | 2 | ||||
-rw-r--r-- | Locations.hs | 2 | ||||
-rw-r--r-- | Remote/Bup.hs | 2 | ||||
-rw-r--r-- | Remote/Git.hs | 4 | ||||
-rw-r--r-- | Remote/Web.hs | 4 | ||||
-rw-r--r-- | Utility/Url.hs | 12 |
8 files changed, 14 insertions, 16 deletions
diff --git a/Utility/Ssh.hs b/Annex/Ssh.hs index 34e4390f6..851c7c06b 100644 --- a/Utility/Ssh.hs +++ b/Annex/Ssh.hs @@ -5,7 +5,7 @@ - Licensed under the GNU GPL version 3 or higher. -} -module Utility.Ssh where +module Annex.Ssh where import Control.Monad.State (liftIO) diff --git a/Command/AddUrl.hs b/Command/AddUrl.hs index 2756af880..f32b5b86a 100644 --- a/Command/AddUrl.hs +++ b/Command/AddUrl.hs @@ -48,7 +48,7 @@ download url file = do let dummykey = Backend.URL.fromUrl url let tmp = gitAnnexTmpLocation g dummykey liftIO $ createDirectoryIfMissing True (parentDir tmp) - ok <- Url.download url tmp + ok <- liftIO $ Url.download url tmp if ok then do [(backend, _)] <- Backend.chooseBackends [file] diff --git a/Command/Map.hs b/Command/Map.hs index 18cb915e3..48cba63f9 100644 --- a/Command/Map.hs +++ b/Command/Map.hs @@ -16,7 +16,7 @@ import qualified Git import Annex.UUID import Logs.UUID import Logs.Trust -import Utility.Ssh +import Annex.Ssh import qualified Utility.Dot as Dot -- a link from the first repository to the second (its remote) diff --git a/Locations.hs b/Locations.hs index 4579fe05b..ceb6246b9 100644 --- a/Locations.hs +++ b/Locations.hs @@ -127,7 +127,7 @@ isLinkToAnnex s = ("/.git/" ++ objectDir) `isInfixOf` s - is one to one. - ":" is escaped to "&c", because despite it being 2011, people still care - about FAT. - - -} + -} keyFile :: Key -> FilePath keyFile key = replace "/" "%" $ replace ":" "&c" $ replace "%" "&s" $ replace "&" "&a" $ show key diff --git a/Remote/Bup.hs b/Remote/Bup.hs index 8d36245a9..48014f1da 100644 --- a/Remote/Bup.hs +++ b/Remote/Bup.hs @@ -16,7 +16,7 @@ import Common.Annex import Types.Remote import qualified Git import Config -import Utility.Ssh +import Annex.Ssh import Remote.Helper.Special import Remote.Helper.Encryptable import Crypto diff --git a/Remote/Git.hs b/Remote/Git.hs index 10183522f..8857d821d 100644 --- a/Remote/Git.hs +++ b/Remote/Git.hs @@ -13,7 +13,7 @@ import qualified Data.Map as M import Common.Annex import Utility.CopyFile import Utility.RsyncFile -import Utility.Ssh +import Annex.Ssh import Types.Remote import qualified Git import qualified Annex @@ -164,7 +164,7 @@ copyFromRemote :: Git.Repo -> Key -> FilePath -> Annex Bool copyFromRemote r key file | not $ Git.repoIsUrl r = rsyncOrCopyFile r (gitAnnexLocation r key) file | Git.repoIsSsh r = rsyncHelper =<< rsyncParamsRemote r True key file - | Git.repoIsHttp r = Url.download (keyUrl r key) file + | Git.repoIsHttp r = liftIO $ Url.download (keyUrl r key) file | otherwise = error "copying from non-ssh, non-http repo not supported" {- Tries to copy a key's content to a remote's annex. -} diff --git a/Remote/Web.hs b/Remote/Web.hs index 63963c530..3fea94531 100644 --- a/Remote/Web.hs +++ b/Remote/Web.hs @@ -49,7 +49,9 @@ downloadKey key file = get =<< getUrls key get [] = do warning "no known url" return False - get urls = anyM (`Url.download` file) urls + get urls = do + showOutput -- make way for download progress bar + liftIO $ anyM (`Url.download` file) urls uploadKey :: Key -> Annex Bool uploadKey _ = do diff --git a/Utility/Url.hs b/Utility/Url.hs index 6ddeecc14..b5f5b78c0 100644 --- a/Utility/Url.hs +++ b/Utility/Url.hs @@ -12,13 +12,10 @@ module Utility.Url ( ) where import Control.Applicative -import Control.Monad.State (liftIO) import qualified Network.Browser as Browser import Network.HTTP import Network.URI -import Types -import Messages import Utility.SafeCommand import Utility @@ -38,13 +35,12 @@ exists url = {- Used to download large files, such as the contents of keys. - Uses wget or curl program for its progress bar. (Wget has a better one, - so is preferred.) -} -download :: URLString -> FilePath -> Annex Bool +download :: URLString -> FilePath -> IO Bool download url file = do - showOutput -- make way for program's progress bar - e <- liftIO $ inPath "wget" + e <- inPath "wget" if e then - liftIO $ boolSystem "wget" + boolSystem "wget" [Params "-c -O", File file, File url] else -- Uses the -# progress display, because the normal @@ -52,7 +48,7 @@ download url file = do -- the remainder to download as the whole file, -- and not indicating how much percent was -- downloaded before the resume. - liftIO $ boolSystem "curl" + boolSystem "curl" [Params "-L -C - -# -o", File file, File url] {- Downloads a small file. -} |