Mercurial > hg
changeset 28268:3643b66d7f71
hgweb: add index template to json/map
This template allows showing the list of all repos in an hgweb instance (in
hgwebdir mode) as json.
The test has "lastchange" globbed because hgweb uses here file modification
time and not the last commit time.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 27 Feb 2016 19:53:18 +0800 |
parents | 5408e532e50a |
children | 6e3fdd98b277 |
files | mercurial/templates/json/map tests/test-hgwebdir.t |
diffstat | 2 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templates/json/map Fri Feb 26 19:13:10 2016 +0000 +++ b/mercurial/templates/json/map Sat Feb 27 19:53:18 2016 +0800 @@ -172,3 +172,12 @@ }' filenodelink = '' filenolink = '' +index = '\{ + "entries": [{join(entries%indexentry, ", ")}] + }' +indexentry = '\{ + "name": {name|utf8|json}, + "description": {description|utf8|json}, + "contact": {contact|utf8|json}, + "lastchange": {lastchange|json} + }'
--- a/tests/test-hgwebdir.t Fri Feb 26 19:13:10 2016 +0000 +++ b/tests/test-hgwebdir.t Sat Feb 27 19:53:18 2016 +0800 @@ -100,6 +100,23 @@ /a/ /b/ + $ get-with-headers.py localhost:$HGPORT '?style=json' + 200 Script output follows + + { + "entries": [{ + "name": "a", + "description": "unknown", + "contact": "Foo Bar \u003cfoo.bar@example.com\u003e", + "lastchange": [*, *] (glob) + }, { + "name": "b", + "description": "unknown", + "contact": "Foo Bar \u003cfoo.bar@example.com\u003e", + "lastchange": [*, *] (glob) + }] + } (no-eol) + $ get-with-headers.py localhost:$HGPORT 'a/file/tip/a?style=raw' 200 Script output follows