summaryrefslogtreecommitdiff
path: root/Remote/Directory.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-17 00:57:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-17 00:57:29 -0400
commit89fab6c7b8955ef26e653d539f7be3b70129c15e (patch)
tree440bbcf11ba845d9373b966bda4be018482f2668 /Remote/Directory.hs
parent9606409b9dd5218b0540418170ec86e9e1cec038 (diff)
refactor
Diffstat (limited to 'Remote/Directory.hs')
-rw-r--r--Remote/Directory.hs25
1 files changed, 11 insertions, 14 deletions
diff --git a/Remote/Directory.hs b/Remote/Directory.hs
index a84a1f45a..d9bee80c3 100644
--- a/Remote/Directory.hs
+++ b/Remote/Directory.hs
@@ -82,14 +82,14 @@ store d k = do
g <- Annex.gitRepo
let src = gitAnnexLocation g k
let dest = dirKey d k
- liftIO $ catch (storeHelper dest $ copyFile src dest) (const $ return False)
+ liftIO $ catchBool $ storeHelper dest $ copyFile src dest
storeEncrypted :: FilePath -> (Cipher, Key) -> Key -> Annex Bool
storeEncrypted d (cipher, enck) k = do
g <- Annex.gitRepo
let src = gitAnnexLocation g k
let dest = dirKey d enck
- liftIO $ catch (storeHelper dest $ encrypt src dest) (const $ return False)
+ liftIO $ catchBool $ storeHelper dest $ encrypt src dest
where
encrypt src dest = do
content <- L.readFile src
@@ -112,23 +112,20 @@ retrieve d k f = liftIO $ copyFile (dirKey d k) f
retrieveEncrypted :: FilePath -> (Cipher, Key) -> FilePath -> Annex Bool
retrieveEncrypted d (cipher, enck) f =
- liftIO $ catch decrypt (const $ return False)
- where
- decrypt = do
- content <- L.readFile (dirKey d enck)
- withDecryptedContent cipher content $ L.writeFile f
- return True
+ liftIO $ catchBool $ do
+ content <- L.readFile (dirKey d enck)
+ withDecryptedContent cipher content $ L.writeFile f
+ return True
remove :: FilePath -> Key -> Annex Bool
-remove d k = liftIO $ catch del (const $ return False)
+remove d k = liftIO $ catchBool $ do
+ allowWrite dir
+ removeFile file
+ removeDirectory dir
+ return True
where
file = dirKey d k
dir = parentDir file
- del = do
- allowWrite dir
- removeFile file
- removeDirectory dir
- return True
checkPresent :: FilePath -> Key -> Annex (Either IOException Bool)
checkPresent d k = liftIO $ try $ doesFileExist (dirKey d k)