chiark / gitweb /
Add blame-filtering
authorMatthew Vernon <matthewv@chiark.greenend.org.uk>
Wed, 28 Nov 2018 20:36:22 +0000 (20:36 +0000)
committerMatthew Vernon <matthewv@chiark.greenend.org.uk>
Mon, 10 Dec 2018 16:56:37 +0000 (16:56 +0000)
This simply works on the md5 of the offending commit message, and
replaces it with new text.

blame_filter.py is a simple dictionary of md5: replacement pairs; it
is not committed itself (and is ignored by git)

.gitignore
commands.py

index 6791423..44a9ccd 100755 (executable)
@@ -1,3 +1,4 @@
 *.pyc
 *~
 trouts-local
+blame_filter.py
index 2864bb9..3974bfb 100755 (executable)
@@ -1,8 +1,13 @@
 # Part of Acrobat.
-import string, cPickle, random, urllib, sys, time, re, os, twitter, subprocess, datetime, urlparse
+import string, cPickle, random, urllib, sys, time, re, os, twitter, subprocess, datetime, urlparse, hashlib
 from collections import defaultdict
 from irclib import irc_lower, nm_to_n
 
+try:
+    from blame_filter import bfd
+except ImportError:
+    bfd = None
+
 # query karma
 def karmaq(bot, cmd, nick, conn, public, karma):
     try:
@@ -279,8 +284,12 @@ def __getcommitinfo(commit):
        return(err)
 
     ts,mes=out.split('|')
+    mes=mes.strip()
+    md5mes=hashlib.md5(mes).hexdigest()
+    if bfd and md5mes in bfd:
+        mes=bfd[md5mes]
     when=datetime.date.fromtimestamp(float(ts))
-    return mes.strip(), when
+    return mes, when
 
 ###Return an array of commit messages and timestamps for lines in db that match what
 def __getcommits(db,keys,what):