maint.py 750 B

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