Rev 184: Extracted creation of email text from script to library. in http://bzr.daniel-watkins.co.uk/pqm/xmlrpc

Daniel Watkins daniel at daniel-watkins.co.uk
Thu Jul 31 05:53:15 BST 2008


At http://bzr.daniel-watkins.co.uk/pqm/xmlrpc

------------------------------------------------------------
revno: 184
revision-id: daniel at daniel-watkins.co.uk-20080731045139-e7n0qj99fztq4wye
parent: daniel at daniel-watkins.co.uk-20080731041714-k5jdyurosjwtzbxi
committer: Daniel Watkins <daniel at daniel-watkins.co.uk>
branch nick: xmlrpc
timestamp: Thu 2008-07-31 05:51:39 +0100
message:
  Extracted creation of email text from script to library.
-------------- next part --------------
=== modified file 'bin/pqm'
--- a/bin/pqm	2008-07-17 02:03:01 +0000
+++ b/bin/pqm	2008-07-31 04:51:39 +0000
@@ -58,7 +58,7 @@
 from pqm.commandline import parse_command_line
 from pqm.errors import PQMCmdFailure, PQMException
 from pqm.lockfile import LockFile
-from pqm.script import Command, read_email
+from pqm.script import Command, get_email_string, read_email
 
 
 def dir_from_option(configp, option, default):
@@ -203,17 +203,10 @@
 def do_read_mode(logger, options):
     sender = None
     try:
-        (sender, subject, msg, sig) = read_email(logger)
-        if options.verify_sigs:
-            sigid, siguid = verify_sig(
-                sender, msg, sig, 1, logger, options.keyring)
-            open(transaction_file, 'a').write(sigid + '\n')
         fname = 'patch.%d' % (time.time())
         logger.info('new patch ' + fname)
         f = open('tmp.' + fname, 'w')
-        f.write('From: ' + sender + '\n')
-        f.write('Subject: ' + subject + '\n')
-        f.write(string.join(re.split('\r?\n', msg), '\n')) # canonicalize line endings
+        f.write(get_email_string(logger, options))
         f.close()
         os.rename('tmp.' + fname, fname)
     except:

=== modified file 'pqm/script.py'
--- a/pqm/script.py	2008-07-17 02:03:01 +0000
+++ b/pqm/script.py	2008-07-31 04:51:39 +0000
@@ -72,6 +72,21 @@
         return (sender, subject, msg.get_payload(), None)
 
 
+def get_email_string(logger, options, file=None):
+    (sender, subject, msg, sig) = read_email(logger, file)
+    if options.verify_sigs:
+        sigid, siguid = verify_sig(sender, msg, sig, 1, logger,
+                                   options.keyring)
+        open(transaction_file, 'a').write(sigid + '\n')
+    # canonicalize line endings
+    body = '\n'.join(re.split('\r?\n', msg))
+    return ("From: %(sender)s\n"
+            "Subject: %(subject)s\n"
+            "%(body)s" % {'sender': sender,
+                          'subject': subject,
+                          'body': body,})
+
+
 class Script(object):
     """A command script."""
 



More information about the bazaar-commits mailing list