X-Git-Url: https://projects.mako.cc/source/iron-blogger/blobdiff_plain/ab393a07f5f2381803b1ecb8fc15a66451f910b7..5b056df8f265e7f31e5cc46d7101c74304b7fe01:/weekly-update.py diff --git a/weekly-update.py b/weekly-update.py index faa6c4c..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,12 +23,14 @@ try: finally: subprocess.call(['stty', 'echo']) -x = xmlrpclib.ServerProxy(XMLRPC_ENDPOINT) - with open('ledger', 'a') as f: - f.write(render.render_template('templates/ledger', sys.argv[1])) + f.write("\n") + f.write(render.render_template('templates/ledger', date)) -text = render.render_template('templates/week.tmpl', sys.argv[1]) +subprocess.check_call(["git", "commit", "ledger", + "-m", "Update for %s" % (date,)]) + +text = render.render_template('templates/week.tmpl', date) lines = text.split("\n") title = lines[0] @@ -30,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)