changeset 26106:c568c4db036f

templatefilters: remove redundant 'date' and 'strip' filters These filters are defined as 'date()' and 'strip()' functions. Help messages are moved to the corresponding functions.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 04 Jul 2015 16:07:42 +0900
parents d67341f55429
children 50582df9d7a7
files mercurial/templatefilters.py mercurial/templater.py tests/test-command-template.t
diffstat 3 files changed, 5 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/templatefilters.py	Sat Jul 04 16:03:36 2015 +0900
+++ b/mercurial/templatefilters.py	Sat Jul 04 16:07:42 2015 +0900
@@ -81,12 +81,6 @@
     """:count: List or text. Returns the length as an integer."""
     return len(i)
 
-def datefilter(text):
-    """:date: Date. Returns a date in a Unix date format, including the
-    timezone: "Mon Sep 04 15:13:13 2006 0700".
-    """
-    return util.datestr(text)
-
 def domain(author):
     """:domain: Any text. Finds the first string that looks like an email
     address, and extracts just the domain component. Example: ``User
@@ -348,10 +342,6 @@
         return ""
     return str(thing)
 
-def strip(text):
-    """:strip: Any text. Strips all leading and trailing whitespace."""
-    return text.strip()
-
 def stripdir(text):
     """:stripdir: Treat the text as path and strip a directory level, if
     possible. For example, "foo" and "foo/bar" becomes "foo".
@@ -401,7 +391,6 @@
     "age": age,
     "basename": basename,
     "count": count,
-    "date": datefilter,
     "domain": domain,
     "email": email,
     "escape": escape,
@@ -429,7 +418,6 @@
     "splitlines": splitlines,
     "stringescape": stringescape,
     "stringify": stringify,
-    "strip": strip,
     "stripdir": stripdir,
     "tabindent": tabindent,
     "upper": upper,
--- a/mercurial/templater.py	Sat Jul 04 16:03:36 2015 +0900
+++ b/mercurial/templater.py	Sat Jul 04 16:07:42 2015 +0900
@@ -313,7 +313,8 @@
 
 def date(context, mapping, args):
     """:date(date[, fmt]): Format a date. See :hg:`help dates` for formatting
-    strings."""
+    strings. The default is a Unix date format, including the timezone:
+    "Mon Sep 04 15:13:13 2006 0700"."""
     if not (1 <= len(args) <= 2):
         # i18n: "date" is a keyword
         raise error.ParseError(_("date expects one or two arguments"))
@@ -604,7 +605,8 @@
                 return shortest
 
 def strip(context, mapping, args):
-    """:strip(text[, chars]): Strip characters from a string."""
+    """:strip(text[, chars]): Strip characters from a string. By default,
+    strips all leading and trailing whitespace."""
     if not (1 <= len(args) <= 2):
         # i18n: "strip" is a keyword
         raise error.ParseError(_("strip expects one or two arguments"))
--- a/tests/test-command-template.t	Sat Jul 04 16:03:36 2015 +0900
+++ b/tests/test-command-template.t	Sat Jul 04 16:07:42 2015 +0900
@@ -2498,7 +2498,7 @@
 Behind the scenes, this will throw ValueError
 
   $ hg tip --template '{author|email|date}\n'
-  abort: template filter 'datefilter' is not compatible with keyword 'author'
+  hg: parse error: date expects a date information
   [255]
 
 Error in nested template: