X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=dmarc_to_database;h=62d6a077995ba90482d13969a4aa0c08844d8e00;hb=HEAD;hp=38ec02837ae4c6d4caf8ffb080c755ebd5c4a4dd;hpb=1347c11e6608456984d0bb12fc03b405d7c26f6c;p=dmarc.git diff --git a/dmarc_to_database b/dmarc_to_database index 38ec028..62d6a07 100755 --- a/dmarc_to_database +++ b/dmarc_to_database @@ -151,24 +151,27 @@ def build_insert_command(table_name, report, preamble_values=None, i=None): def write_report(connection, cursor, report): - insert_string, values = build_insert_command('reports', report) - # print(insert_string, values) - cursor.execute(insert_string, values) - - for i in range(1, len(report.findall('./record'))+1): - field_names = [] - cursor.execute('select id, report_metadata_report_id from reports where report_metadata_report_id = %s;', - [report.find('./report_metadata/report_id').text]) - results = cursor.fetchall() - if len(results) != 1: - raise RuntimeError('Could not find report record for report item') - else: - report_id = results[0][0] - insert_string, values = build_insert_command('report_items', report, i=i, - preamble_values={'report_id': report_id}) + try: + insert_string, values = build_insert_command('reports', report) # print(insert_string, values) cursor.execute(insert_string, values) - connection.commit() + + for i in range(1, len(report.findall('./record'))+1): + field_names = [] + cursor.execute('select id, report_metadata_report_id from reports where report_metadata_report_id = %s;', + [report.find('./report_metadata/report_id').text]) + results = cursor.fetchall() + if len(results) != 1: + raise RuntimeError('Could not find report record for report item') + else: + report_id = results[0][0] + insert_string, values = build_insert_command('report_items', report, i=i, + preamble_values={'report_id': report_id}) + # print(insert_string, values) + cursor.execute(insert_string, values) + connection.commit() + except AttributeError: + pass config = configparser.ConfigParser() if args.config_file: