metadata: Support --json
This commit is contained in:
parent
b437787eee
commit
fb4e1ebfbe
3 changed files with 8 additions and 5 deletions
|
@ -18,7 +18,7 @@ import qualified Data.Set as S
|
|||
import Data.Time.Clock.POSIX
|
||||
|
||||
def :: [Command]
|
||||
def = [withOptions [setOption, tagOption, untagOption] $
|
||||
def = [withOptions [setOption, tagOption, untagOption, jsonOption] $
|
||||
command "metadata" paramPaths seek
|
||||
SectionMetaData "sets metadata of a file"]
|
||||
|
||||
|
@ -62,8 +62,10 @@ perform now ms k = do
|
|||
|
||||
cleanup :: Key -> CommandCleanup
|
||||
cleanup k = do
|
||||
m <- getCurrentMetaData k
|
||||
showLongNote $ unlines $ concatMap showmeta $ fromMetaData $ currentMetaData m
|
||||
l <- map unwrapmeta . fromMetaData <$> getCurrentMetaData k
|
||||
maybeShowJSON l
|
||||
showLongNote $ unlines $ concatMap showmeta l
|
||||
return True
|
||||
where
|
||||
showmeta (f, vs) = map (\v -> fromMetaField f ++ "=" ++ fromMetaValue v) $ S.toList vs
|
||||
unwrapmeta (f, v) = (fromMetaField f, map fromMetaValue (S.toList v))
|
||||
showmeta (f, vs) = map ((f ++ "=") ++) vs
|
||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -13,6 +13,7 @@ git-annex (5.20140222) UNRELEASED; urgency=medium
|
|||
metadata (year and month) when adding files.
|
||||
* metadata: Field names limited to alphanumerics and a few whitelisted
|
||||
punctuation characters to avoid issues with views, etc.
|
||||
* metadata: Support --json
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Fri, 21 Feb 2014 13:03:04 -0400
|
||||
|
||||
|
|
|
@ -951,7 +951,7 @@ subdirectories).
|
|||
Rather than the normal output, generate JSON. This is intended to be
|
||||
parsed by programs that use git-annex. Each line of output is a JSON
|
||||
object. Note that JSON output is only usable with some git-annex commands,
|
||||
like info, find, and whereis.
|
||||
like info, find, whereis, and metadata.
|
||||
|
||||
* `--debug`
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue