weekly-update: Add -n for dry run.

This commit is contained in:
Nelson Elhage 2010-05-31 20:40:47 -04:00
parent d081d745ab
commit 5b056df8f2
1 changed files with 21 additions and 9 deletions

View File

@ -9,6 +9,13 @@ XMLRPC_ENDPOINT = 'http://iron-blogger.mit.edu/xmlrpc.php'
USER = 'nelhage'
BLOG_ID = 1
args = sys.argv[1:]
if args[0] == '-n':
dry_run = True
args = args[1:]
date = args[0]
try:
subprocess.call(['stty', '-echo'])
passwd = raw_input("Password for %s: " % (USER,))
@ -16,16 +23,14 @@ try:
finally:
subprocess.call(['stty', 'echo'])
x = xmlrpclib.ServerProxy(XMLRPC_ENDPOINT)
with open('ledger', 'a') as f:
f.write("\n")
f.write(render.render_template('templates/ledger', sys.argv[1]))
f.write(render.render_template('templates/ledger', date))
subprocess.check_call(["git", "commit", "ledger",
"-m", "Update for %s" % (sys.argv[1],)])
"-m", "Update for %s" % (date,)])
text = render.render_template('templates/week.tmpl', sys.argv[1])
text = render.render_template('templates/week.tmpl', date)
lines = text.split("\n")
title = lines[0]
@ -34,8 +39,15 @@ body = "\n".join(lines[1:])
page = dict(title = title,
description = body)
x.metaWeblog.newPost(BLOG_ID, USER, passwd, page, True)
if not dry_run:
x = xmlrpclib.ServerProxy(XMLRPC_ENDPOINT)
x.metaWeblog.newPost(BLOG_ID, USER, passwd, page, True)
p = subprocess.Popen(['mutt', '-H', '/dev/stdin'],
stdin=subprocess.PIPE)
p.communicate(render.render_template('templates/email.txt', sys.argv[1]))
email = render.render_template('templates/email.txt', date)
if dry_run:
print email
else:
p = subprocess.Popen(['mutt', '-H', '/dev/stdin'],
stdin=subprocess.PIPE)
p.communicate(email)