apply languages
This commit is contained in:
parent
2948c8252e
commit
0b3044350b
@ -44,6 +44,8 @@ def available(request):
|
|||||||
return JsonResponse({"id": None})
|
return JsonResponse({"id": None})
|
||||||
solution.result = "Testing"
|
solution.result = "Testing"
|
||||||
solution.save()
|
solution.save()
|
||||||
|
checker.testing_solution = solution
|
||||||
|
checker.save()
|
||||||
with TemporaryDirectory() as tempdir:
|
with TemporaryDirectory() as tempdir:
|
||||||
with ZipFile(join(tempdir, "package.zip"), 'w') as zip_file:
|
with ZipFile(join(tempdir, "package.zip"), 'w') as zip_file:
|
||||||
for sf in SolutionFile.objects.filter(solution=solution):
|
for sf in SolutionFile.objects.filter(solution=solution):
|
||||||
@ -68,6 +70,8 @@ def set_result(request):
|
|||||||
return JsonResponse({"status": "incorrect solution"}, status=403)
|
return JsonResponse({"status": "incorrect solution"}, status=403)
|
||||||
solution.result = result
|
solution.result = result
|
||||||
solution.save()
|
solution.save()
|
||||||
|
checker.testing_solution = None
|
||||||
|
checker.save()
|
||||||
return JsonResponse({"status": True})
|
return JsonResponse({"status": True})
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
return JsonResponse({"status": "incorrect token"}, status=403)
|
return JsonResponse({"status": "incorrect token"}, status=403)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
from multiprocessing import Process
|
from multiprocessing import Process
|
||||||
from os import getenv
|
from os import getenv, environ
|
||||||
from os.path import join
|
from os.path import join
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from time import sleep
|
from time import sleep
|
||||||
@ -10,6 +10,8 @@ from requests import get
|
|||||||
from language import languages
|
from language import languages
|
||||||
from testers import *
|
from testers import *
|
||||||
|
|
||||||
|
host = "http://dev.sprinthub.ru/"
|
||||||
|
|
||||||
|
|
||||||
def process_solution(path, data, language_id, solution_id, timeout):
|
def process_solution(path, data, language_id, solution_id, timeout):
|
||||||
with open(join(path, "package.zip"), 'wb') as fs:
|
with open(join(path, "package.zip"), 'wb') as fs:
|
||||||
@ -26,13 +28,17 @@ def process_solution(path, data, language_id, solution_id, timeout):
|
|||||||
|
|
||||||
|
|
||||||
def poll(token):
|
def poll(token):
|
||||||
while True:
|
correct_token = True
|
||||||
print(get("http://127.0.0.1:8000/checker/status", params={"token": token}).json())
|
while correct_token:
|
||||||
|
code = get(f"{host}checker/status", params={"token": token}).status_code
|
||||||
|
if code != 200:
|
||||||
|
correct_token = False
|
||||||
|
else:
|
||||||
sleep(2)
|
sleep(2)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
request = get("http://127.0.0.1:8000/checker/get_dynamic", params={"token": getenv("TOKEN")})
|
request = get(f"{host}checker/get_dynamic", params={"token": getenv("TOKEN")})
|
||||||
if request.status_code != 200:
|
if request.status_code != 200:
|
||||||
print("Error happened: " + request.json()['status'])
|
print("Error happened: " + request.json()['status'])
|
||||||
exit(1)
|
exit(1)
|
||||||
@ -40,7 +46,7 @@ def main():
|
|||||||
p = Process(target=poll, args=(dynamic_token,))
|
p = Process(target=poll, args=(dynamic_token,))
|
||||||
p.start()
|
p.start()
|
||||||
while True:
|
while True:
|
||||||
data = get("http://127.0.0.1:8000/checker/available", params={"token": dynamic_token})
|
data = get(f"{host}checker/available", params={"token": dynamic_token})
|
||||||
if data.status_code == 200:
|
if data.status_code == 200:
|
||||||
sleep(2)
|
sleep(2)
|
||||||
continue
|
continue
|
||||||
@ -53,14 +59,17 @@ def main():
|
|||||||
int(data.headers['solution_id']),
|
int(data.headers['solution_id']),
|
||||||
int(data.headers['timeout']),
|
int(data.headers['timeout']),
|
||||||
)
|
)
|
||||||
get("http://127.0.0.1:8000/checker/set_result", params={
|
get(f"{host}checker/set_result", params={
|
||||||
"token": dynamic_token,
|
"token": dynamic_token,
|
||||||
"solution_id": data.headers['solution_id'],
|
"solution_id": data.headers['solution_id'],
|
||||||
"result": result
|
"result": result
|
||||||
})
|
})
|
||||||
|
elif data.status_code == 403:
|
||||||
|
print("token removed")
|
||||||
|
exit(1)
|
||||||
else:
|
else:
|
||||||
print("unknown status")
|
print("unknown status")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
Reference in New Issue
Block a user