maint.py 708 B

123456789101112131415161718192021222324252627
  1. import sys
  2. import logging
  3. from sqlalchemy import inspect
  4. from config_manager import get_config
  5. from techrec import RecDB
  6. def cleanold_cmd(options):
  7. log = logging.getLogger('cleanold')
  8. log.debug("starting cleanold[%d]" % options.minage)
  9. db = RecDB(get_config()['DB_URI'])
  10. res = db.get_not_completed(options.minage*3600*24)
  11. count = len(res)
  12. if options.pretend:
  13. for rec in res:
  14. print rec
  15. else:
  16. for rec in res:
  17. logging.info("Deleting " + str(rec))
  18. s = inspect(rec).session
  19. s.delete(rec)
  20. s.commit()
  21. logging.info("Cleanold complete: %d deleted" % count)
  22. sys.exit(0)
  23. # vim: set ai ts=4 sw=4 et: