[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[PATCH] option mapping in mailer.py

From: Mathias Weinert <mathias.weinert_at_gfa-net.de>
Date: 2006-05-30 08:59:15 CEST

Hi there,

I am still hoping that some will commit the following patch to mailer.py
so please let my wishes get true...

This patch allows users to use capital letters for map substitution
names. If you use a map substitution name with capital letters in the
current release of mailer.py it won't work as all option names are
converted to lower case but not the name of the value.

So I changed this to a way that the value is also converted to lower
case and added some hints to the config examples file.

Mathias

[[[
* tools/hook-scripts/mailer/mailer.py
  - it's now possible to use capital letters in option values which will be passed through a map

* tools/hook-scripts/mailer/mailer.conf.example
  - added a hint to the description of the mapping process
]]]

--- mailer.py.orig 2006-05-23 02:17:16.000000000 +0200
+++ mailer.py 2006-05-30 08:55:36.726937900 +0200
@@ -1108,7 +1108,8 @@
         # then just return the value unchanged.
         setattr(self.maps, optname,
                 lambda value,
- sect=getattr(self, sectname): getattr(sect, value,
+ sect=getattr(self, sectname): getattr(sect,
+ value.lower(),
                                                              value))
         # mark for removal when all optnames are done
         if sectname not in mapsections:
--- mailer.conf.example.orig 2005-04-15 16:37:19.000000000 +0200
+++ mailer.conf.example 2006-05-30 08:58:15.360520500 +0200
@@ -240,9 +240,18 @@
 # are made here in the [maps] section.
 #
 # When an option is accessed, the value is loaded from the configuration
-# file and all %(NAME)s substitutions are performed. The resulting value
-# is then passed through the map. If a map entry is not available for
-# the value, then it will be used unchanged.
+# file and all %(NAME)s substitutions are performed. The resulting
+# value(*) is then passed through the map. If a map entry is not available
+# for the value, then it will be used unchanged(**).
+#
+# (*) In fact the value passing and comparing is done case insensitive so
+# don't use values which only differ in case.
+#
+# (**) unchanged means the original value, i. e. no case change is done.
+#
+# Please note that a colon ':' is also considered as separator between
+# option and value (keep this in mind when trying to map a file path under
+# windows).
 #
 # The format to declare a map is:
 #

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 30 08:59:47 2006

This is an archived mail posted to the Subversion Dev mailing list.