diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-08-17 15:29:34 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-08-17 15:29:34 -0400 |
commit | efee99a335b36ae6265662f3afd7fbfaf75420d2 (patch) | |
tree | 3cd7d329d61bca02be08eaea87745af698ea6663 /keysafe.hs | |
parent | 194d7d2702712668f05ea2ac956a0dcecc5c4b70 (diff) | |
download | keysafe-efee99a335b36ae6265662f3afd7fbfaf75420d2.tar.gz |
refactor
Diffstat (limited to 'keysafe.hs')
-rw-r--r-- | keysafe.hs | 23 |
1 files changed, 2 insertions, 21 deletions
@@ -58,11 +58,11 @@ dispatch cmdline ui tunables = do backup storage ui tunables secretkeysource =<< getSecretKey secretkeysource go CmdLine.Backup Nothing = - backup storage ui tunables anyGpgKey =<< pickGpgKeyToBackup ui + backup storage ui tunables Gpg.anyKey =<< Gpg.getKeyToBackup ui go CmdLine.Restore (Just secretkeydest) = restore storage ui secretkeydest go CmdLine.Restore Nothing = - restore storage ui anyGpgKey + restore storage ui Gpg.anyKey go CmdLine.Benchmark _ = benchmarkTunables tunables @@ -70,25 +70,6 @@ getSecretKey :: SecretKeySource -> IO SecretKey getSecretKey (GpgKey kid) = Gpg.getSecretKey kid getSecretKey (KeyFile f) = SecretKey <$> B.readFile f --- | Pick gpg secret key to back up. --- --- If there is only one gpg secret key, --- the choice is obvious. Otherwise prompt the user with a list. -pickGpgKeyToBackup :: UI -> IO SecretKey -pickGpgKeyToBackup ui = go =<< Gpg.listSecretKeys - where - go [] = do - showError ui "You have no gpg secret keys to back up." - error "Aborting on no gpg secret keys." - go [(_, kid)] = Gpg.getSecretKey kid - go l = maybe (error "Canceled") Gpg.getSecretKey - =<< promptKeyId ui "Pick gpg secret key" - "Pick gpg secret key to back up:" l - --- | Use when the gpg keyid will not be known at restore time. -anyGpgKey :: SecretKeySource -anyGpgKey = GpgKey (KeyId "") - backup :: Storage -> UI -> Tunables -> SecretKeySource -> SecretKey -> IO () backup storage ui tunables secretkeysource secretkey = do username <- userName |