incremental verify for directory special remote

Added fileRetriever', which will let the remaining special remotes
eventually also support incremental verify.

Sponsored-by: Dartmouth College's DANDI project
This commit is contained in:
Joey Hess 2021-08-16 16:22:00 -04:00
parent a644f729ce
commit b1622eb932
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
13 changed files with 39 additions and 27 deletions

View file

@ -237,7 +237,7 @@ retrieveKeyFileM :: External -> Retriever
retrieveKeyFileM external = fileRetriever $ \d k p ->
either giveup return =<< go d k p
where
go d k p = handleRequestKey external (\sk -> TRANSFER Download sk d) k (Just p) $ \resp ->
go d k p = handleRequestKey external (\sk -> TRANSFER Download sk (fromRawFilePath d)) k (Just p) $ \resp ->
case resp of
TRANSFER_SUCCESS Download k'
| k == k' -> result $ Right ()
@ -810,7 +810,7 @@ checkUrlM external url =
retrieveUrl :: Retriever
retrieveUrl = fileRetriever $ \f k p -> do
us <- getWebUrls k
unlessM (withUrlOptions $ downloadUrl k p us f) $
unlessM (withUrlOptions $ downloadUrl k p us (fromRawFilePath f)) $
giveup "failed to download content"
checkKeyUrl :: CheckPresent