summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-10-16 00:04:26 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-10-16 00:04:26 -0400
commit91366c896d9c9cb4519b451a64ed4d1e0ff52cb3 (patch)
treef9c7073002f68f1b53ba62890794474301a7253a
parent52c8244219dd90102818282b8b09186f2ce93a0f (diff)
clean Annex stuff out of Utility/
-rw-r--r--Annex/Ssh.hs (renamed from Utility/Ssh.hs)2
-rw-r--r--Command/AddUrl.hs2
-rw-r--r--Command/Map.hs2
-rw-r--r--Locations.hs2
-rw-r--r--Remote/Bup.hs2
-rw-r--r--Remote/Git.hs4
-rw-r--r--Remote/Web.hs4
-rw-r--r--Utility/Url.hs12
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. -}