mercurial/templatekw.py
changeset 33414 16ed67164002
parent 33276 89796a25d4bb
child 33476 c0d8de2724ce
equal deleted inserted replaced
33413:a339027902c4 33414:16ed67164002
    57         makemap = self._makemap
    57         makemap = self._makemap
    58         for x in self._values:
    58         for x in self._values:
    59             yield makemap(x)
    59             yield makemap(x)
    60     def __contains__(self, x):
    60     def __contains__(self, x):
    61         return x in self._values
    61         return x in self._values
       
    62     def __getitem__(self, key):
       
    63         return self._values[key]
    62     def __len__(self):
    64     def __len__(self):
    63         return len(self._values)
    65         return len(self._values)
    64     def __iter__(self):
    66     def __iter__(self):
    65         return iter(self._values)
    67         return iter(self._values)
    66     def __getattr__(self, name):
    68     def __getattr__(self, name):
   589     """
   591     """
   590     if ctx.obsolete():
   592     if ctx.obsolete():
   591         return 'obsolete'
   593         return 'obsolete'
   592     return ''
   594     return ''
   593 
   595 
       
   596 @templatekeyword('peerpaths')
       
   597 def showpeerpaths(repo, **args):
       
   598     """A dictionary of repository locations defined in the [paths] section
       
   599     of your configuration file."""
       
   600     # see commands.paths() for naming of dictionary keys
       
   601     paths = util.sortdict()
       
   602     for k, p in sorted(repo.ui.paths.iteritems()):
       
   603         d = util.sortdict()
       
   604         d['url'] = p.rawloc
       
   605         d.update((o, v) for o, v in sorted(p.suboptions.iteritems()))
       
   606         def f():
       
   607             yield d['url']
       
   608         paths[k] = hybriddict(d, gen=f())
       
   609 
       
   610     # no hybriddict() since d['path'] can't be formatted as a string. perhaps
       
   611     # hybriddict() should call templatefilters.stringify(d[value]).
       
   612     return _hybrid(None, paths, lambda k: {'name': k, 'path': paths[k]},
       
   613                    lambda d: '%s=%s' % (d['name'], d['path']['url']))
       
   614 
   594 @templatekeyword("predecessors")
   615 @templatekeyword("predecessors")
   595 def showpredecessors(repo, ctx, **args):
   616 def showpredecessors(repo, ctx, **args):
   596     """Returns the list if the closest visible successors
   617     """Returns the list if the closest visible successors
   597     """
   618     """
   598     predecessors = sorted(obsutil.closestpredecessors(repo, ctx.node()))
   619     predecessors = sorted(obsutil.closestpredecessors(repo, ctx.node()))