Mercurial > hg > mercurial-crew
changeset 16360:e5788269741a
templates/filters: extracting the user portion of an email address
Currently, the 'user' filter is using util.shortuser(text) (which clearly
doesn't extract only the user portion of an email address, even though the
help text says it does).
The new 'emailuser' filter uses the new util.emailuser(text) function which,
instead, does exactly that.
The help text on the 'user' filter has been modified accordingly.
author | Matteo Capobianco <m.capobianco@gmail.com> |
---|---|
date | Wed, 28 Mar 2012 16:06:20 +0200 |
parents | d23197e08d05 |
children | 6097ede2be4d |
files | mercurial/templatefilters.py mercurial/util.py |
diffstat | 2 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templatefilters.py +++ b/mercurial/templatefilters.py @@ -336,9 +336,14 @@ return urllib.quote(text) def userfilter(text): - """:user: Any text. Returns the user portion of an email address.""" + """:user: Any text. Returns a short representation of a user name or email + address.""" return util.shortuser(text) +def emailuser(text): + """:emailuser: Any text. Returns the user portion of an email address.""" + return util.emailuser(text) + def xmlescape(text): text = (text .replace('&', '&') @@ -382,6 +387,7 @@ "tabindent": tabindent, "urlescape": urlescape, "user": userfilter, + "emailuser": emailuser, "xmlescape": xmlescape, }
--- a/mercurial/util.py +++ b/mercurial/util.py @@ -1125,6 +1125,16 @@ user = user[:f] return user +def emailuser(user): + """Return the user portion of an email address.""" + f = user.find('@') + if f >= 0: + user = user[:f] + f = user.find('<') + if f >= 0: + user = user[f + 1:] + return user + def email(author): '''get email of author.''' r = author.find('>')