Punts for 2012-11-12
[iron-blogger] / weekly-update.py
index ad6ef1a43095fce7926a0ef25d8562020cd9d90c..9cd240c0f53b7b6322f6ccaeef7cb478a66c628d 100755 (executable)
@@ -7,9 +7,7 @@ import subprocess
 import datetime
 import yaml
 
-XMLRPC_ENDPOINT = 'http://iron-blogger.mako.cc/xmlrpc.php'
-USER            = 'mako'
-BLOG_ID         = 1
+from config import *
 
 dry_run = False
 
@@ -19,14 +17,14 @@ if args[0] == '-n':
     args = args[1:]
 
 date = args[0]
-today = str(datetime.date.today())
 
 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,)])
+if not dry_run:
+    subprocess.check_call(["git", "commit", "ledger",
+                           "-m", "Update for %s" % (date,)])
 
 debts = render.get_debts()
 punt = []
@@ -34,13 +32,13 @@ punt = []
 with open('ledger', 'a') as f:
     f.write("\n")
     for (user, debt) in debts:
-        if debt < 30: continue
+        if debt <= (FINE_SIZE * 6): continue
         punt.append(user)
         f.write("""\
-%(today)s Punt
-  Pool:Owed:%(user)s  $-%(debt)s
+%(date)s Punt
+  Pool:Owed:%(user)s  -%(debt)s
   User:%(user)s
-""" % {'user': user, 'debt': debt, 'today': today})
+""" % {'user': user, 'debt': debt, 'date': date})
 
 
 if not dry_run:
@@ -76,9 +74,17 @@ if punt:
         bloggers = yaml.safe_load(b)
     for p in punt:
         if 'end' not in bloggers[p]:
-            bloggers[p]['end'] = today
+            bloggers[p]['end'] = datetime.date(*map(int, date.split("-")))
     with open('bloggers.yml','w') as b:
         yaml.safe_dump(bloggers, b)
 
-    subprocess.check_call(["git", "commit", "ledger", "bloggers.yml",
-                           "-m", "Punts for %s" % (today,)])
+    if not dry_run:
+        subprocess.check_call(["git", "commit", "ledger", "bloggers.yml",
+                               "-m", "Punts for %s" % (date,)])
+
+# if it's a dry run, lets set the ledger back to the beginning state
+if dry_run:
+    subprocess.check_call(["git", "checkout", "ledger"])
+    
+    if punt:
+        subprocess.check_call(["git", "checkout", "bloggers.yml"])

Benjamin Mako Hill || Want to submit a patch?