Spaces:
Sleeping
Sleeping
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
import falcon | |
from engine import evaluate_solution | |
import logging | |
class RootResource: | |
def on_get(self, request, response): | |
response.text = 'HumanEval for Solidity Server' | |
def on_post(self, request, response): | |
payload = request.media | |
if 'task_id' not in payload or 'solution' not in payload: | |
response.status = falcon.HTTP_400 | |
response.media = { | |
'error': 'task_id or solution are missing', | |
} | |
return | |
task_id = payload['task_id'] | |
solution = payload['solution'] | |
try: | |
passed, output = evaluate_solution(task_id, solution) | |
response.media = { | |
'passed': passed, | |
'output': output, | |
} | |
except FileNotFoundError: | |
response.status = falcon.HTTP_404 | |
response.media = {'error': 'Task not found'} | |
except Exception: | |
response.status = falcon.HTTP_500 | |
response.media = {'error': 'Internal server error'} | |