passing body to mutt mail client

Bug #384158 reported by Edwin Grubbs
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
Medium
Edwin Grubbs

Bug Description

Here is a patch for adding support for passing the email body to mutt.

--- mail_client.py 2009-06-05 19:12:55.000000000 -0500
+++ /tmp/mail_client.py 2009-06-05 19:12:44.000000000 -0500
@@ -253,12 +253,12 @@
                               help=Evolution.__doc__)

-class Mutt(ExternalMailClient):
+class Mutt(BodyExternalMailClient):
     """Mutt mail client."""

     _client_commands = ['mutt']

- def _get_compose_commandline(self, to, subject, attach_path):
+ def _get_compose_commandline(self, to, subject, attach_path, body=None):
         """See ExternalMailClient._get_compose_commandline"""
         message_options = []
         if subject is not None:
@@ -266,6 +266,14 @@
         if attach_path is not None:
             message_options.extend(['-a',
                 self._encode_path(attach_path, 'attachment')])
+ if body is not None:
+ fd, temp_file = tempfile.mkstemp(prefix="mutt-body",
+ suffix=".txt")
+ try:
+ os.write(fd, body)
+ finally:
+ os.close(fd)
+ message_options.extend(['-i', temp_file])
         if to is not None:
             message_options.extend(['--', self._encode_safe(to)])
         return message_options

Revision history for this message
Martin Pool (mbp) wrote : Re: [Bug 384158] [NEW] passing body to mutt mail client

Thanks for the patch; please make a merge proposal for it.

Please also use a NamedTemporaryFile object not os.write unless
there's a compelling reason.

--
Martin <http://launchpad.net/~mbp/>

Changed in bzr:
assignee: nobody → Edwin Grubbs (edwin-grubbs)
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

I submitted a merge proposal. BTW, the following wiki page says to use bundle buggy.

http://bazaar-vcs.org/BzrGivingBack

Revision history for this message
Martin Pool (mbp) wrote :

I'll merge this

Changed in bzr:
milestone: none → 1.16
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.