22
33# standard library
44import argparse
5+ import glob
56import os
67import time
78
@@ -22,19 +23,21 @@ def get_argument_parser():
2223 help = "filename for log output (defaults to stdout)" )
2324 return parser
2425
25- def handle_file (deletion_file , database ):
26+ def handle_file (deletion_file , database , logger ):
2627 logger .info ("Deleting from csv file" , filename = deletion_file )
2728 rows = []
2829 with open (deletion_file ) as f :
2930 for line in f :
30- rows .append (line .strip ().split ("," ))
31+ fields = line .strip ().split ("," )
32+ if len (fields ) < 9 : continue
33+ rows .append (fields + ["day" ])
3134 rows = rows [1 :]
3235 try :
3336 n = database .delete_batch (rows )
3437 logger .info ("Deleted database rows" , row_count = n )
3538 return n
3639 except Exception as e :
37- logger .exception ('Exception while deleting rows: ' , e )
40+ logger .exception ('Exception while deleting rows' , exception = e )
3841 database .rollback ()
3942 return 0
4043
@@ -49,7 +52,11 @@ def main(args):
4952
5053 try :
5154 for deletion_file in sorted (glob .glob (os .path .join (args .deletion_dir , '*.csv' ))):
52- all_n += handle_file (deletion_file )
55+ n = handle_file (deletion_file , database , logger )
56+ if n is not None :
57+ all_n += n
58+ else :
59+ all_n = "rowcount unsupported"
5360 finally :
5461 database .disconnect (True )
5562
0 commit comments