namespaces: use named args for namespace api
This is just a style change but makes adding new arguments more robust for
callers.
--- a/mercurial/namespaces.py Wed Jan 14 19:39:13 2015 -0800
+++ b/mercurial/namespaces.py Wed Jan 14 19:55:20 2015 -0800
@@ -22,27 +22,27 @@
def __init__(self):
self._names = util.sortdict()
- # shorten the class name for less indentation
- ns = namespace
-
# we need current mercurial named objects (bookmarks, tags, and
# branches) to be initialized somewhere, so that place is here
- n = ns("bookmarks", "bookmark",
- lambda repo: repo._bookmarks.keys(),
- lambda repo, name: tolist(repo._bookmarks.get(name)),
- lambda repo, name: repo.nodebookmarks(name))
+ bmknames = lambda repo: repo._bookmarks.keys()
+ bmknamemap = lambda repo, name: tolist(repo._bookmarks.get(name))
+ bmknodemap = lambda repo, name: repo.nodebookmarks(name)
+ n = namespace("bookmarks", templatename="bookmark", listnames=bmknames,
+ namemap=bmknamemap, nodemap=bmknodemap)
self.addnamespace(n)
- n = ns("tags", "tag",
- lambda repo: [t for t, n in repo.tagslist()],
- lambda repo, name: tolist(repo._tagscache.tags.get(name)),
- lambda repo, name: repo.nodetags(name))
+ tagnames = lambda repo: [t for t, n in repo.tagslist()]
+ tagnamemap = lambda repo, name: tolist(repo._tagscache.tags.get(name))
+ tagnodemap = lambda repo, name: repo.nodetags(name)
+ n = namespace("tags", templatename="tag", listnames=tagnames,
+ namemap=tagnamemap, nodemap=tagnodemap)
self.addnamespace(n)
- n = ns("branches", "branch",
- lambda repo: repo.branchmap().keys(),
- lambda repo, name: tolist(repo.branchtip(name, True)),
- lambda repo, node: [repo[node].branch()])
+ bnames = lambda repo: repo.branchmap().keys()
+ bnamemap = lambda repo, name: tolist(repo.branchtip(name, True))
+ bnodemap = lambda repo, node: [repo[node].branch()]
+ n = namespace("branches", templatename="branch", listnames=bnames,
+ namemap=bnamemap, nodemap=bnodemap)
self.addnamespace(n)
def __getitem__(self, namespace):
--- a/tests/test-log.t Wed Jan 14 19:39:13 2015 -0800
+++ b/tests/test-log.t Wed Jan 14 19:55:20 2015 -0800
@@ -1567,12 +1567,13 @@
>
> def reposetup(ui, repo):
> foo = {'foo': repo[0].node()}
- > ns = namespace("bars", "bar",
- > lambda r: foo.keys(),
- > lambda r, name: foo.get(name),
- > lambda r, node: [name for name, n
- > in foo.iteritems()
- > if n == node])
+ > names = lambda r: foo.keys()
+ > namemap = lambda r, name: foo.get(name)
+ > nodemap = lambda r, node: [name for name, n in foo.iteritems()
+ > if n == node]
+ > ns = namespace("bars", templatename="bar", listnames=names,
+ > namemap=namemap, nodemap=nodemap)
+ >
> repo.names.addnamespace(ns)
> EOF