The unified diff between revisions [6d4712d0..] and [31c5cb9f..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "twistedrbl.py"
#  from [e5749b334cad76c3d382f6bb2283dd3cf8cb7500]
#    to [df13b4b1ce8c0fc9497c837dfff66c753c77d564]
#
============================================================
--- twistedrbl.py	e5749b334cad76c3d382f6bb2283dd3cf8cb7500
+++ twistedrbl.py	df13b4b1ce8c0fc9497c837dfff66c753c77d564
@@ -4,6 +4,7 @@ import fcntl, os, sys, re
 from twisted.protocols import basic
 from twisted.names import client
 import fcntl, os, sys, re
+import datetime, time

 spam_info_re = re.compile(r'^(?P<date>[^ ]+ [^ ]+ [^ ]+) (?P<scannerhost>[^ ]+) filter-module\[(?P<pid>\d+)\]: (?P<queueid>\w+): spam_status=(?P<spamstatus>[^ ]+) \(from=(?P<from>[^ ]*) to=(?P<to>[^ ]*) uwa_client_ip= ?(?P<ip>[\d\.]+) \((?P<class>[^\)]+)\) message_id= ?(?P<message_id>.*)$')

@@ -22,15 +23,17 @@ class Echo(basic.LineReceiver):
     def connectionMade(self):
         self.log_fd.write('Connection established.\n')

-    def dns_response(self, querying_rbl, ipr, track, line, is_ok, result):
+    def dns_response(self, result, args):
+        querying_rbl, ipr, track, line, is_ok = args
         in_rbl = is_ok and result and result.startswith('127.0.0')
         in_kas = line['spamstatus'] != 'no'
         log_fd.write('result for %s (%d)\n' % (ipr, track))
-        self.result_fd.write("date=%s rbl=%s ip=%s in_kas=%s in_rbl=%s\n" % (line['date'],
-                                                                             querying_rbl,
-                                                                             line['ip'],
-                                                                             in_kas,
-                                                                             in_rbl))
+        line_time = time.mktime(time.strptime(line['date'] + ' 2006', '%b %d %H:%M:%S %Y'))
+        self.result_fd.write("%d %s %s in_kas=%s in_rbl=%s\n" % (int(line_time),
+                                                                 querying_rbl,
+                                                                 line['ip'],
+                                                                 in_kas,
+                                                                 in_rbl))

     def lineReceived(self, line):
         match = spam_info_re.match(line)
@@ -43,9 +46,8 @@ class Echo(basic.LineReceiver):
             ipr = '.'.join(reversed(ip_address.split('.'))) + '.' + rbl
             log_fd.write('%s (%d) issued\n' % (ipr, self.track))
             deferred = self.resolver.getHostByName(ipr)
-            response = lambda x: self.dns_response(rbl, ipr, self.track, match, True, x)
-            error = lambda x: self.dns_response(rbl, ipr, self.track, match, False, x)
-            deferred.addCallbacks(response, error)
+            deferred.addCallback(self.dns_response, [rbl, ipr, self.track, match, True])
+            deferred.addErrback(self.dns_response, [rbl, ipr, self.track, match, False])

 if __name__ == '__main__':
     log_fd = open('log.txt', 'w')