From 7be239cadbe817fdd713110e501a0a0cb60c4f67 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Wed, 21 Mar 2018 10:51:19 +0100 Subject: [PATCH] Add dry-run mode for pglister_sync To make it more testable, add an option that rolls back the transaction at the end. --- loader/pglister_sync.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/loader/pglister_sync.py b/loader/pglister_sync.py index 3638a58..dd1b098 100755 --- a/loader/pglister_sync.py +++ b/loader/pglister_sync.py @@ -5,11 +5,17 @@ import os import sys +import argparse from ConfigParser import ConfigParser import psycopg2 import requests if __name__=="__main__": + parser = argparse.ArgumentParser(description="Synchronize lists from pglister") + parser.add_argument('--dryrun', action='store_true', help="Don't commit changes to database") + + args = parser.parse_args() + cfg = ConfigParser() cfg.read('%s/archives.ini' % os.path.realpath(os.path.dirname(sys.argv[0]))) try: @@ -87,5 +93,9 @@ if __name__=="__main__": for n, in curs.fetchall(): print "List %s exists in archives, but not in upstream! Should it be marked inactive?" - conn.commit() + if args.dryrun: + print "Dry-run, rolling back" + conn.rollback() + else: + conn.commit() conn.close() -- 2.39.5