From 5b056df8f265e7f31e5cc46d7101c74304b7fe01 Mon Sep 17 00:00:00 2001 From: Nelson Elhage Date: Mon, 31 May 2010 20:40:47 -0400 Subject: [PATCH] weekly-update: Add -n for dry run. --- weekly-update.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/weekly-update.py b/weekly-update.py index dd217ce..b87e37e 100755 --- a/weekly-update.py +++ b/weekly-update.py @@ -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) + +email = render.render_template('templates/email.txt', date) -p = subprocess.Popen(['mutt', '-H', '/dev/stdin'], - stdin=subprocess.PIPE) -p.communicate(render.render_template('templates/email.txt', sys.argv[1])) +if dry_run: + print email +else: + p = subprocess.Popen(['mutt', '-H', '/dev/stdin'], + stdin=subprocess.PIPE) + p.communicate(email) -- 2.30.2