Author: gstein
Date: Wed Oct 25 05:35:06 2023
New Revision: 1913311

URL: http://svn.apache.org/viewvc?rev=1913311&view=rev
Log:
Move the make_subject() method from OutputBase to Messenger.

Almost no code change. Had to change to .output.prefix_param.

* tools/hook-scripts/mailer/mailer.py:
  (OutputBase.make_subject): moved to ...
  (Messenger.make_subject): ... here. The prefix_param is still back
    in the OutputBase, so tweak the code to fetch it.

Modified:
    subversion/trunk/tools/hook-scripts/mailer/mailer.py

Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/mailer.py?rev=1913311&r1=1913310&r2=1913311&view=diff
==============================================================================
--- subversion/trunk/tools/hook-scripts/mailer/mailer.py (original)
+++ subversion/trunk/tools/hook-scripts/mailer/mailer.py Wed Oct 25 05:35:06 
2023
@@ -179,32 +179,6 @@ class OutputBase:
     self.prefix_param = prefix_param
     self._CHUNKSIZE = 128 * 1024
 
-  ### TBD: move this to Messenger.
-  def make_subject(self, basic_subject, group, params):
-    prefix = self.cfg.get(self.prefix_param, group, params)
-    if prefix:
-      subject = prefix + ' ' + basic_subject
-    else:
-      subject = basic_subject
-
-    try:
-      truncate_subject = int(
-          self.cfg.get('truncate_subject', group, params))
-    except ValueError:
-      truncate_subject = 0
-
-    # truncate subject as UTF-8 string.
-    # Note: there still exists an issue on combining characters.
-    if truncate_subject:
-      bsubject = to_bytes(subject)
-      if len(bsubject) > truncate_subject:
-        idx = truncate_subject - 2
-        while b'\x80' <= bsubject[idx-1:idx] <= b'\xbf':
-          idx -= 1
-        subject = to_str(bsubject[:idx-1]) + "..."
-
-    return subject
-
   def start(self, basic_subject, group, params):
     """Override this method.
 
@@ -469,9 +443,31 @@ class Messenger:
 
     self.output = cls(cfg, repos, prefix_param)
 
-  ### temporary shim to avoid large code movement between classes
   def make_subject(self, basic_subject, group, params):
-    return self.output.make_subject(basic_subject, group, params)
+    ### prefix_param should move to Messenger.
+    prefix = self.cfg.get(self.output.prefix_param, group, params)
+    if prefix:
+      subject = prefix + ' ' + basic_subject
+    else:
+      subject = basic_subject
+
+    try:
+      truncate_subject = int(
+          self.cfg.get('truncate_subject', group, params))
+    except ValueError:
+      truncate_subject = 0
+
+    # truncate subject as UTF-8 string.
+    # Note: there still exists an issue on combining characters.
+    if truncate_subject:
+      bsubject = to_bytes(subject)
+      if len(bsubject) > truncate_subject:
+        idx = truncate_subject - 2
+        while b'\x80' <= bsubject[idx-1:idx] <= b'\xbf':
+          idx -= 1
+        subject = to_str(bsubject[:idx-1]) + "..."
+
+    return subject
 
 
 class Commit(Messenger):


Reply via email to