From 81cbdb6c8cf54c41ba2ee3330c968e2feea05a5c Mon Sep 17 00:00:00 2001 From: kustodian Date: Thu, 6 Nov 2014 09:46:54 +0100 Subject: [PATCH 1/2] Fixed postgresql_db failing on Python 2.4 with --check --- database/postgresql/postgresql_db.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/database/postgresql/postgresql_db.py b/database/postgresql/postgresql_db.py index 605be621601..32cc930cd98 100644 --- a/database/postgresql/postgresql_db.py +++ b/database/postgresql/postgresql_db.py @@ -281,14 +281,13 @@ def main(): elif state == "present": changed = not db_matches(cursor, db, owner, template, encoding, lc_collate, lc_ctype) - module.exit_json(changed=changed,db=db) + else: + if state == "absent": + changed = db_delete(cursor, db) - if state == "absent": - changed = db_delete(cursor, db) - - elif state == "present": - changed = db_create(cursor, db, owner, template, encoding, - lc_collate, lc_ctype) + elif state == "present": + changed = db_create(cursor, db, owner, template, encoding, + lc_collate, lc_ctype) except NotSupportedError, e: module.fail_json(msg=str(e)) except Exception, e: From 07b98c45df5dafcbe08eda24e790480d657c1719 Mon Sep 17 00:00:00 2001 From: kustodian Date: Sat, 13 Dec 2014 17:24:10 +0100 Subject: [PATCH 2/2] Fixed postgresql_db failing on Python 2.4 with --check This reverts commit 81cbdb6c8cf54c41ba2ee3330c968e2feea05a5c and adds ignoring of the SystemExit exception because of Python 2.4. --- database/postgresql/postgresql_db.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/database/postgresql/postgresql_db.py b/database/postgresql/postgresql_db.py index 32cc930cd98..695a550c402 100644 --- a/database/postgresql/postgresql_db.py +++ b/database/postgresql/postgresql_db.py @@ -281,15 +281,19 @@ def main(): elif state == "present": changed = not db_matches(cursor, db, owner, template, encoding, lc_collate, lc_ctype) - else: - if state == "absent": - changed = db_delete(cursor, db) + module.exit_json(changed=changed,db=db) - elif state == "present": - changed = db_create(cursor, db, owner, template, encoding, - lc_collate, lc_ctype) + if state == "absent": + changed = db_delete(cursor, db) + + elif state == "present": + changed = db_create(cursor, db, owner, template, encoding, + lc_collate, lc_ctype) except NotSupportedError, e: module.fail_json(msg=str(e)) + except SystemExit: + # Avoid catching this on Python 2.4 + raise except Exception, e: module.fail_json(msg="Database query failed: %s" % e)