[PATCH] templatefilters: add new dirname filter

Aleix Conchillo Flaque aleix at member.fsf.org
Fri Apr 24 03:22:01 CDT 2009


# HG changeset patch
# User Aleix Conchillo Flaque <aleix at member.fsf.org>
# Date 1240561285 -7200
# Node ID 58e9ce722255c65d24a039487b40f1d1ffd61149
# Parent  441dc7becd4305f3884aab2fcf6f8e51cb547aac
templatefilters: add new dirname filter

diff -r 441dc7becd43 -r 58e9ce722255 mercurial/templatefilters.py
--- a/mercurial/templatefilters.py	Fri Apr 24 00:06:01 2009 -0700
+++ b/mercurial/templatefilters.py	Fri Apr 24 10:21:25 2009 +0200
@@ -157,9 +157,19 @@
     else:
         raise TypeError('cannot encode type %s' % obj.__class__.__name__)
 
+def dirname(text):
+    '''Treat the text as path, and return dirname. If no base path is found,
+       return basename. Useful for recursive repos.'''
+    dir = os.path.dirname(text)
+    if dir == "":
+        return os.path.basename(text)
+    else:
+        return dir
+
 filters = {
     "addbreaks": nl2br,
     "basename": os.path.basename,
+    "dirname": dirname,
     "age": age,
     "date": lambda x: util.datestr(x),
     "domain": domain,


More information about the Mercurial-devel mailing list