This commit is contained in:
ITQ
2025-03-03 18:11:38 +03:00
parent 49e7928250
commit 38b89ea643
4 changed files with 36 additions and 3 deletions
+8
View File
@@ -22,6 +22,10 @@ services:
restart: false restart: false
condition: service_healthy condition: service_healthy
required: true required: true
checker:
restart: false
condition: service_healthy
required: true
env_file: env_file:
- path: ./infrastructure/backend/.env.template - path: ./infrastructure/backend/.env.template
required: true required: true
@@ -384,6 +388,10 @@ services:
restart: false restart: false
condition: service_completed_successfully condition: service_completed_successfully
required: true required: true
minio:
restart: false
condition: service_healthy
required: true
env_file: env_file:
- path: ./infrastructure/checker/.env.template - path: ./infrastructure/checker/.env.template
required: true required: true
+5 -2
View File
@@ -116,7 +116,10 @@ def submit_task(
return status.FORBIDDEN, ForbiddenError() return status.FORBIDDEN, ForbiddenError()
if task.type == CompetitionTask.CompetitionTaskType.INPUT: if task.type == CompetitionTask.CompetitionTaskType.INPUT:
verdict = content.read() == task.correct_answer_file.read() user_input = content.read()
correct_answer = task.correct_answer_file.read()
verdict = user_input == correct_answer
print(user_input, correct_answer)
submission = CompetitionTaskSubmission.objects.create( submission = CompetitionTaskSubmission.objects.create(
user=user, user=user,
task=task, task=task,
@@ -125,7 +128,7 @@ def submit_task(
result={ result={
"correct": verdict "correct": verdict
}, },
earned_points=task.points earned_points=task.points if verdict else 0
) )
if task.type == CompetitionTask.CompetitionTaskType.REVIEW: if task.type == CompetitionTask.CompetitionTaskType.REVIEW:
submission = CompetitionTaskSubmission.objects.create( submission = CompetitionTaskSubmission.objects.create(
@@ -0,0 +1,19 @@
# Generated by Django 5.1.6 on 2025-03-03 15:11
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('task', '0002_remove_competitiontasksubmission_plagiarism_checked_and_more'),
]
operations = [
migrations.AlterField(
model_name='competitiontaskattachment',
name='task',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='task.competitiontask', verbose_name='задание'),
),
]
+4 -1
View File
@@ -111,7 +111,10 @@ class CompetitionTaskAttachment(BaseModel):
return f"attachments/{instance.id}/file/{filename}" return f"attachments/{instance.id}/file/{filename}"
task = models.ForeignKey( task = models.ForeignKey(
CompetitionTask, on_delete=models.CASCADE, verbose_name="задание" CompetitionTask,
on_delete=models.CASCADE,
verbose_name="задание",
related_name="attachments",
) )
file = models.FileField(upload_to=file_upload_at, verbose_name="файл") file = models.FileField(upload_to=file_upload_at, verbose_name="файл")
bind_at = models.CharField(verbose_name="путь сохранения", max_length=255) bind_at = models.CharField(verbose_name="путь сохранения", max_length=255)