From: Karl Wiberg <kha@treskal.com>
To: Alex Chiang <achiang@hp.com>
Cc: catalin.marinas@gmail.com, git@vger.kernel.org
Subject: Re: [PATCH 5/6] stg mail: add basic support for git send-email
Date: Sun, 29 Nov 2009 22:54:25 +0100 [thread overview]
Message-ID: <b8197bcb0911291354m674d3698m929a1d542a59ed9f@mail.gmail.com> (raw)
In-Reply-To: <20091128195037.949.63611.stgit@bob.kio>
On Sat, Nov 28, 2009 at 8:50 PM, Alex Chiang <achiang@hp.com> wrote:
> + # XXX: yuck, there's gotta be a more pythonic way. Ideally we'd like
> + # to use the git_opts dictionary as our mapping between stg mail and
> + # git send-email; extract k, v pairs from git_opts, and use those
> + # to iterate across options somehow.
> + git_opts = { 'to': '--to=', 'cc': '--cc=', 'bcc': '--bcc=' }
> + if options.to:
> + for a in options.to:
> + cmd.append("--to=%s" % a)
> + if options.cc:
> + for a in options.cc:
> + cmd.append("--cc=%s" % a)
> + if options.bcc:
> + for a in options.bcc:
> + cmd.append("--bcc=%s" % a)
> + if not options.auto:
> + cmd.append("--suppress-cc=body")
Like this?
for x in ['to', 'cc', 'bcc']:
if getattr(options, x):
cmd.extend('--%s=%s' % (x, a) for a in getattr(options, x))
> + (fd, path) = mkstemp()
> + os.write(fd, msg.as_string(options.mbox))
> + os.close(fd)
> +
> + try:
> + cmd.append(path)
> + call(cmd)
> + except Exception, err:
> + os.unlink(path)
> + raise CmdException, str(err)
> +
> + os.unlink(path)
To avoid having to remember to call unlink in all paths, you can write
try:
try:
cmd.append(path)
call(cmd)
except Exception, e:
raise CmdException(str(e))
finally:
os.unlink(path)
(The combined try...except...finally statement didn't appear until
python 2.5, but we'd like to stay compatible with 2.4.)
--
Karl Wiberg, kha@treskal.com
subrabbit.wordpress.com
www.treskal.com/kalle
next prev parent reply other threads:[~2009-11-29 21:54 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-28 19:50 [StGit RFC PATCH 0/6] add support for git send-email Alex Chiang
2009-11-28 19:50 ` [PATCH 1/6] stg mail: Refactor __send_message and friends Alex Chiang
2009-11-29 9:13 ` Karl Wiberg
2009-11-30 23:58 ` Alex Chiang
2009-11-28 19:50 ` [PATCH 2/6] stg mail: reorder __build_[message|cover] parameters Alex Chiang
2009-11-28 19:50 ` [PATCH 3/6] stg mail: make __send_message do more Alex Chiang
2009-11-29 21:23 ` Karl Wiberg
2009-11-30 23:59 ` Alex Chiang
2009-12-01 7:26 ` Karl Wiberg
2009-11-28 19:50 ` [PATCH 4/6] stg mail: factor out __update_header Alex Chiang
2009-11-28 19:50 ` [PATCH 5/6] stg mail: add basic support for git send-email Alex Chiang
2009-11-29 21:54 ` Karl Wiberg [this message]
2009-12-01 0:00 ` Alex Chiang
2009-12-01 7:33 ` Karl Wiberg
2009-11-28 19:50 ` [PATCH 6/6] stg mail: don't parse To/Cc/Bcc in --git mode Alex Chiang
2009-11-29 22:05 ` [StGit RFC PATCH 0/6] add support for git send-email Karl Wiberg
2009-12-01 0:02 ` Alex Chiang
2009-12-01 7:38 ` Karl Wiberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b8197bcb0911291354m674d3698m929a1d542a59ed9f@mail.gmail.com \
--to=kha@treskal.com \
--cc=achiang@hp.com \
--cc=catalin.marinas@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).