whereis: Prints the urls of files that the web special remote knows about.

This commit is contained in:
Joey Hess 2012-02-14 03:49:48 -04:00
parent 8fbc529d68
commit cb631ce518
12 changed files with 37 additions and 12 deletions

View file

@ -15,6 +15,7 @@ module Remote (
removeKey,
hasKey,
hasKeyCheap,
whereisKey,
remoteTypes,
remoteList,
@ -48,16 +49,16 @@ import Logs.Trust
import Logs.Location
import Remote.List
{- Map of UUIDs of Remotes and their names. -}
remoteMap :: Annex (M.Map UUID String)
remoteMap = M.fromList . map (\r -> (uuid r, name r)) .
{- Map from UUIDs of Remotes to a calculated value. -}
remoteMap :: (Remote -> a) -> Annex (M.Map UUID a)
remoteMap c = M.fromList . map (\r -> (uuid r, c r)) .
filter (\r -> uuid r /= NoUUID) <$> remoteList
{- Map of UUIDs and their descriptions.
- The names of Remotes are added to suppliment any description that has
- been set for a repository. -}
uuidDescriptions :: Annex (M.Map UUID String)
uuidDescriptions = M.unionWith addName <$> uuidMap <*> remoteMap
uuidDescriptions = M.unionWith addName <$> uuidMap <*> remoteMap name
addName :: String -> String -> String
addName desc n