* Karl Wiberg <kha@xxxxxxxxxxx>: > On Sat, Nov 28, 2009 at 8:50 PM, Alex Chiang <achiang@xxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html