X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdominate.py;h=52f1b17220cea6824e7b6d91deb3ba04e572ca9f;hb=519c1dbf89c13557afc15a429164616ac563d379;hp=1c77ee66b09cf74476721350128db3c16bdb6a13;hpb=63e12db5695f3da7384c11d27451f2f53d7e4237;p=dak.git diff --git a/dak/dominate.py b/dak/dominate.py index 1c77ee66..52f1b172 100755 --- a/dak/dominate.py +++ b/dak/dominate.py @@ -84,12 +84,16 @@ def obsoleteAllAssociations(suite, session): return fetch('old_and_unreferenced', query, { 'suite': suite }, session) def deleteAssociations(table, idList, session): + global Options query = """ DELETE FROM %s - WHERE id = :id + WHERE id IN :idList """ % table - session.execute(query, [{'id': id} for id in idList]) + if not idList or Options['No-Action']: + return + params = {'idList': tuple(idList)} + session.execute(query, params) def doDaDoDa(suite, session): # keep this part disabled because it is too dangerous @@ -137,7 +141,8 @@ def main(): suites = [suite.suite_name for suite in query_suites] cnf['Obsolete::Options::Suite'] = str(','.join(suites)) - Logger = daklog.Logger("dominate") + if not Options['No-Action']: + Logger = daklog.Logger("dominate") session = DBConn().session() for suite_name in utils.split_args(Options['Suite']): suite = session.query(Suite).filter_by(suite_name = suite_name).one() @@ -153,7 +158,8 @@ def main(): session.rollback() else: session.commit() - Logger.close() + if Logger: + Logger.close() if __name__ == '__main__': main()