From: Alex Chiang <achiang@hp•com>
To: Karl Wiberg <kha@treskal•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: Mon, 30 Nov 2009 17:00:48 -0700 [thread overview]
Message-ID: <20091201000048.GL12733@ldl.fc.hp.com> (raw)
In-Reply-To: <b8197bcb0911291354m674d3698m929a1d542a59ed9f@mail.gmail.com>
* Karl Wiberg <kha@treskal•com>:
> 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))
Yeah, that looks nice. Re-implemented with your suggestion.
> > + (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.)
This statement confuses me a bit. The way I read it, I shouldn't
use your suggestion due to compat reasons?
Thanks,
/ac
next prev parent reply other threads:[~2009-12-01 0:00 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
2009-12-01 0:00 ` Alex Chiang [this message]
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=20091201000048.GL12733@ldl.fc.hp.com \
--to=achiang@hp$(echo .)com \
--cc=catalin.marinas@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=kha@treskal$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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