[PATCH 1 of 2] Add "nonempty" template filter

Rocco Rutte pdmef at gmx.net
Mon Apr 20 04:42:11 CDT 2009


# HG changeset patch
# User Rocco Rutte <pdmef at gmx.net>
# Date 1240220055 -7200
# Node ID d990ace62768a7f48356b6a395d587dd5d0316df
# Parent  5b3fee9c1f4dbe3fcdd86d45b314fe77e9e77c68
Add "nonempty" template filter

It ensures at least "(none)" is returned in case the argument passed is
None or ''. This is primarily useful to render empty changelog messages
for hgweb but may be useful for others, too.

diff --git a/mercurial/templatefilters.py b/mercurial/templatefilters.py
--- a/mercurial/templatefilters.py
+++ b/mercurial/templatefilters.py
@@ -157,6 +157,9 @@ def json(obj):
     else:
         raise TypeError('cannot encode type %s' % obj.__class__.__name__)
 
+def nonempty(str):
+  return str or "(none)"
+
 filters = {
     "addbreaks": nl2br,
     "basename": os.path.basename,
@@ -174,6 +177,7 @@ filters = {
     "isodatesec": lambda x: util.datestr(x, '%Y-%m-%d %H:%M:%S %1%2'),
     "json": json,
     "jsonescape": jsonescape,
+    "nonempty": nonempty,
     "obfuscate": obfuscate,
     "permissions": permissions,
     "person": person,


More information about the Mercurial-devel mailing list