Skip to content
Snippets Groups Projects
Commit af49a7a4 authored by Stuart Gathman's avatar Stuart Gathman
Browse files

Clean while exporting, and handle exporting IP6

parent fca8d833
No related branches found
No related tags found
No related merge requests found
......@@ -41,13 +41,15 @@ class Greylist(object):
self.dbp = shelve.open(dbname,'c',protocol=2)
self.lock = thread.allocate_lock()
def export_csv(self,fp):
def export_csv(self,fp,timeinc=0):
"Export records to csv."
import csv
dbp = self.dbp
w = csv.writer(fp)
now = time.time() + timeinc
for key, r in dbp.iteritems():
ip,sender,recipient = key.split(':')
if now > r.lastseen + self.greylist_retain: continue
ip,sender,recipient = key.rsplit(':',2)
w.writerow([ip,sender,recipient,r.firstseen,r.lastseen,r.cnt,r.umis])
def clean(self,timeinc=0):
......@@ -112,7 +114,7 @@ class Greylist(object):
if __name__ == '__main__':
import sys
g = Greylist(sys.argv[1])
g = Greylist(sys.argv[1],5,24,36)
try:
g.export_csv(sys.stdout)
finally: g.close()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment