summaryrefslogtreecommitdiff
path: root/Command/ExamineKey.hs
blob: 55f72f71bbdf058e89f2af3c0dc9cf97d61f984b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{- git-annex command
 -
 - Copyright 2013 Joey Hess <id@joeyh.name>
 -
 - Licensed under the GNU GPL version 3 or higher.
 -}

module Command.ExamineKey where

import Common.Annex
import Command
import CmdLine.Batch
import qualified Utility.Format
import Command.Find (parseFormatOption, showFormatted, keyVars)
import Types.Key

cmd :: Command
cmd = noCommit $ noMessages $ withGlobalOptions [jsonOption] $
	command "examinekey" SectionPlumbing 
		"prints information from a key"
		(paramRepeating paramKey)
		(batchable run (optional parseFormatOption))

run :: Maybe Utility.Format.Format -> String -> Annex Bool
run format p = do
	let k = fromMaybe (error "bad key") $ file2key p
	showFormatted format (key2file k) (keyVars k)
	return True