clean up read/show abuse
Avoid ever using read to parse a non-haskell formatted input string. show :: Key is arguably still show abuse, but displaying Keys as filenames is just too useful to give up.
This commit is contained in:
parent
fdf988be6d
commit
b11a63a860
18 changed files with 75 additions and 98 deletions
|
@ -161,13 +161,15 @@ storeBupUUID u buprepo = do
|
|||
then do
|
||||
showAction "storing uuid"
|
||||
onBupRemote r boolSystem "git"
|
||||
[Params $ "config annex.uuid " ++ show u]
|
||||
[Params $ "config annex.uuid " ++ v]
|
||||
>>! error "ssh failed"
|
||||
else liftIO $ do
|
||||
r' <- Git.configRead r
|
||||
let olduuid = Git.configGet r' "annex.uuid" ""
|
||||
when (olduuid == "") $
|
||||
Git.run r' "config" [Param "annex.uuid", Param $ show u]
|
||||
when (olduuid == "") $ Git.run r' "config"
|
||||
[Param "annex.uuid", Param v]
|
||||
where
|
||||
v = fromUUID u
|
||||
|
||||
onBupRemote :: Git.Repo -> (FilePath -> [CommandParam] -> IO a) -> FilePath -> [CommandParam] -> Annex a
|
||||
onBupRemote r a command params = do
|
||||
|
@ -192,7 +194,7 @@ getBupUUID r u
|
|||
| otherwise = liftIO $ do
|
||||
ret <- try $ Git.configRead r
|
||||
case ret of
|
||||
Right r' -> return (read $ Git.configGet r' "annex.uuid" "", r')
|
||||
Right r' -> return (toUUID $ Git.configGet r' "annex.uuid" "", r')
|
||||
Left _ -> return (NoUUID, r)
|
||||
|
||||
{- Converts a bup remote path spec into a Git.Repo. There are some
|
||||
|
|
|
@ -32,7 +32,7 @@ gitConfigSpecialRemote u c k v = do
|
|||
g <- gitRepo
|
||||
liftIO $ do
|
||||
Git.run g "config" [Param (configsetting $ "annex-"++k), Param v]
|
||||
Git.run g "config" [Param (configsetting "annex-uuid"), Param $ show u]
|
||||
Git.run g "config" [Param (configsetting "annex-uuid"), Param $ fromUUID u]
|
||||
where
|
||||
remotename = fromJust (M.lookup "name" c)
|
||||
configsetting s = "remote." ++ remotename ++ "." ++ s
|
||||
|
|
|
@ -64,7 +64,7 @@ s3Setup :: UUID -> RemoteConfig -> Annex RemoteConfig
|
|||
s3Setup u c = handlehost $ M.lookup "host" c
|
||||
where
|
||||
remotename = fromJust (M.lookup "name" c)
|
||||
defbucket = remotename ++ "-" ++ show u
|
||||
defbucket = remotename ++ "-" ++ fromUUID u
|
||||
defaults = M.fromList
|
||||
[ ("datacenter", "US")
|
||||
, ("storageclass", "STANDARD")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue