from os.path import join, exists from shutil import rmtree from Main.models import Solution from SprintLib.queue import MessagingSupport from SprintLib.testers import * class Command(MessagingSupport): help = "Tests solution" queue_name = "test" def process(self, payload: dict): id = payload['id'] print(f"Received id {id}") solution = Solution.objects.get(id=id) try: eval(solution.language.work_name + "Tester")(solution).execute() except Exception as e: print(e) solution.result = "TE" solution.save() finally: path = join("solutions", str(id)) # if exists(path): # rmtree(path)