X-Git-Url: https://projects.mako.cc/source/iron-blogger/blobdiff_plain/1e83f5c2a466241b2c02b5a5d5c3d3936f5987ea..5b056df8f265e7f31e5cc46d7101c74304b7fe01:/weekly-update.py diff --git a/weekly-update.py b/weekly-update.py index c513a14..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,9 +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', date)) + +subprocess.check_call(["git", "commit", "ledger", + "-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] @@ -27,4 +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) + +if dry_run: + print email +else: + p = subprocess.Popen(['mutt', '-H', '/dev/stdin'], + stdin=subprocess.PIPE) + p.communicate(email)