24ae4b291c
The temporary URL key used for the download, before the real key is generated, was blocked by annex.securehashesonly. Fixed by passing the Backend that will be used for the final key into runTransfer. When a Backend is provided, have preCheckSecureHashes check that, rather than the key being transferred. Sponsored-by: unqueued on Patreon
31 lines
792 B
Haskell
31 lines
792 B
Haskell
{- git-annex command
|
|
-
|
|
- Copyright 2016 Joey Hess <id@joeyh.name>
|
|
-
|
|
- Licensed under the GNU AGPL version 3 or higher.
|
|
-}
|
|
|
|
module Command.CalcKey where
|
|
|
|
import Command
|
|
import Backend (genKey, defaultBackend)
|
|
import Types.KeySource
|
|
import Utility.Metered
|
|
|
|
cmd :: Command
|
|
cmd = noCommit $ noMessages $ dontCheck repoExists $
|
|
withAnnexOptions [backendOption] $
|
|
command "calckey" SectionPlumbing
|
|
"calculate key for a file"
|
|
(paramRepeating paramFile)
|
|
(batchable run (pure ()))
|
|
|
|
run :: () -> SeekInput -> String -> Annex Bool
|
|
run _ _ file = tryNonAsync (genKey ks nullMeterUpdate =<< defaultBackend) >>= \case
|
|
Right (k, _) -> do
|
|
liftIO $ putStrLn $ serializeKey k
|
|
return True
|
|
Left _err -> return False
|
|
where
|
|
ks = KeySource file' file' Nothing
|
|
file' = toRawFilePath file
|