def delete(challenge): """ This method is used to delete the resources used by a challenge. :param challenge: :return: """ Fails.query.filter_by(challenge_id=challenge.id).delete() Solves.query.filter_by(challenge_id=challenge.id).delete() Flags.query.filter_by(challenge_id=challenge.id).delete() files = ChallengeFiles.query.filter_by(challenge_id=challenge.id).all() for f in files: delete_file(f.id) ChallengeFiles.query.filter_by(challenge_id=challenge.id).delete() Tags.query.filter_by(challenge_id=challenge.id).delete() Hints.query.filter_by(challenge_id=challenge.id).delete() WebChallenge.query.filter_by(id=challenge.id).delete() Challenges.query.filter_by(id=challenge.id).delete() db.session.commit()
def delete(challenge): Fails.query.filter_by(challenge_id=challenge.id).delete() Solves.query.filter_by(challenge_id=challenge.id).delete() Flags.query.filter_by(challenge_id=challenge.id).delete() files = ChallengeFiles.query.filter_by(challenge_id=challenge.id).all() for f in files: delete_file(f.id) ChallengeFiles.query.filter_by(challenge_id=challenge.id).delete() uploader = get_uploader() files = JudgeCaseFiles.query.filter_by(challenge_id=challenge_id).all() for f in files: uploader.delete(f.location) JudgeCaseFiles.query.filter_by(challenge_id=challenge_id).delete() Tags.query.filter_by(challenge_id=challenge.id).delete() Hints.query.filter_by(challenge_id=challenge.id).delete() DynICPCModel.query.filter_by(id=challenge.id).delete() Challenges.query.filter_by(id=challenge.id).delete() db.session.commit()
def truncate_database(): # delete all table data (but keep tables) _pages = Pages.query.all() for p in _pages: for f in p.files: try: delete_file(file_id=f.id) except Exception: print("Cant delete file") Pages.query.delete() Notifications.query.delete() _challenges = Challenges.query.all() for c in _challenges: for f in c.files: try: delete_file(file_id=f.id) except Exception: print("Cant delete file") Challenges.query.delete() Users.query.delete() Teams.query.delete() Solves.query.delete() Submissions.query.delete() Awards.query.delete() Unlocks.query.delete() Tracking.query.delete() Configs.query.delete() clear_config() clear_pages() clear_standings() cache.clear() db.session.commit()