def template_review(context, mapping): """:phabreview: Object describing the review for this changeset. Has attributes `url` and `id`. """ ctx = context.resource(mapping, b'ctx') m = _differentialrevisiondescre.search(ctx.description()) if m: return templateutil.hybriddict({ b'url': m.group(r'url'), b'id': b"D%s" % m.group(r'id'), }) else: tags = ctx.repo().nodetags(ctx.node()) for t in tags: if _differentialrevisiontagre.match(t): url = ctx.repo().ui.config(b'phabricator', b'url') if not url.endswith(b'/'): url += b'/' url += t return templateutil.hybriddict({ b'url': url, b'id': t, }) return None
def template_review(context, mapping): """:phabreview: Object describing the review for this changeset. Has attributes `url` and `id`. """ ctx = context.resource(mapping, b'ctx') m = _differentialrevisiondescre.search(ctx.description()) if m: return templateutil.hybriddict({ b'url': m.group(b'url'), b'id': b"D{}".format(m.group(b'id')), })
def lfsfiles(context, mapping): """List of strings. All files modified, added, or removed by this changeset.""" ctx = context.resource(mapping, 'ctx') pointers = wrapper.pointersfromctx(ctx, removed=True) # {path: pointer} files = sorted(pointers.keys()) def pointer(v): # In the file spec, version is first and the other keys are sorted. sortkeyfunc = lambda x: (x[0] != 'version', x) items = sorted(pointers[v].iteritems(), key=sortkeyfunc) return util.sortdict(items) makemap = lambda v: { 'file': v, 'lfsoid': pointers[v].oid() if pointers[v] else None, 'lfspointer': templateutil.hybriddict(pointer(v)), } # TODO: make the separator ', '? f = templateutil._showcompatlist(context, mapping, 'lfs_file', files) return templateutil.hybrid(f, files, makemap, pycompat.identity)