codestyle
This commit is contained in:
@@ -25,9 +25,11 @@ class ExtraFile(FileStorageMixin, models.Model):
|
||||
|
||||
def delete(self, using=None, keep_parents=False):
|
||||
self.remove_from_fs()
|
||||
if self.is_test and self.filename.endswith('.a'):
|
||||
if self.is_test and self.filename.endswith(".a"):
|
||||
try:
|
||||
ef = ExtraFile.objects.get(task=self.task, filename=self.filename.rstrip('.a'), is_test=True)
|
||||
ef = ExtraFile.objects.get(
|
||||
task=self.task, filename=self.filename.rstrip(".a"), is_test=True
|
||||
)
|
||||
ef.is_sample = False
|
||||
ef.save()
|
||||
except ObjectDoesNotExist:
|
||||
@@ -36,4 +38,6 @@ class ExtraFile(FileStorageMixin, models.Model):
|
||||
|
||||
@property
|
||||
def answer(self):
|
||||
return ExtraFile.objects.get(task=self.task, is_test=True, filename=self.filename + '.a')
|
||||
return ExtraFile.objects.get(
|
||||
task=self.task, is_test=True, filename=self.filename + ".a"
|
||||
)
|
||||
|
@@ -23,4 +23,4 @@ class Set(models.Model):
|
||||
|
||||
@property
|
||||
def tasks(self):
|
||||
return Task.objects.filter(settasks__set=self).order_by('settasks__name')
|
||||
return Task.objects.filter(settasks__set=self).order_by("settasks__name")
|
||||
|
@@ -36,23 +36,20 @@ class Solution(models.Model):
|
||||
text = file.text
|
||||
except:
|
||||
continue
|
||||
entity = {
|
||||
'filename': file.path,
|
||||
'text': text
|
||||
}
|
||||
end = file.path.split('.')[-1]
|
||||
entity = {"filename": file.path, "text": text}
|
||||
end = file.path.split(".")[-1]
|
||||
language = None
|
||||
for l in languages:
|
||||
if l.file_type == end:
|
||||
language = l
|
||||
break
|
||||
if language is None:
|
||||
highlight = 'nohighlight'
|
||||
highlight = "nohighlight"
|
||||
else:
|
||||
highlight = 'language-' + language.highlight
|
||||
entity['highlight'] = highlight
|
||||
highlight = "language-" + language.highlight
|
||||
entity["highlight"] = highlight
|
||||
data.append(entity)
|
||||
data.sort(key=lambda x: x['filename'])
|
||||
data.sort(key=lambda x: x["filename"])
|
||||
return data
|
||||
|
||||
@property
|
||||
@@ -67,5 +64,9 @@ class Solution(models.Model):
|
||||
def volume_directory(self):
|
||||
return "/sprint-data/worker/" + str(self.id)
|
||||
|
||||
def exec_command(self, command, working_directory='app', timeout=None):
|
||||
return call(f'docker exec -i solution_{self.id} sh -c "cd {working_directory} && {command}"', shell=True, timeout=timeout)
|
||||
def exec_command(self, command, working_directory="app", timeout=None):
|
||||
return call(
|
||||
f'docker exec -i solution_{self.id} sh -c "cd {working_directory} && {command}"',
|
||||
shell=True,
|
||||
timeout=timeout,
|
||||
)
|
||||
|
@@ -6,4 +6,4 @@ from Main.models.mixins import FileStorageMixin
|
||||
class SolutionFile(FileStorageMixin, models.Model):
|
||||
path = models.TextField()
|
||||
fs_id = models.IntegerField()
|
||||
solution = models.ForeignKey('Solution', on_delete=models.CASCADE)
|
||||
solution = models.ForeignKey("Solution", on_delete=models.CASCADE)
|
||||
|
@@ -29,12 +29,9 @@ class Task(models.Model):
|
||||
@property
|
||||
def samples(self):
|
||||
data = []
|
||||
for test in self.tests.order_by('test_number'):
|
||||
for test in self.tests.order_by("test_number"):
|
||||
if test.is_sample and test.readable:
|
||||
data.append({
|
||||
'input': test.text,
|
||||
'output': test.answer.text
|
||||
})
|
||||
data.append({"input": test.text, "output": test.answer.text})
|
||||
count = 1
|
||||
for entity in data:
|
||||
entity["num"] = count
|
||||
@@ -43,6 +40,7 @@ class Task(models.Model):
|
||||
|
||||
def delete(self, using=None, keep_parents=False):
|
||||
from Main.models.progress import Progress
|
||||
|
||||
for progress in Progress.objects.filter(task=self):
|
||||
progress.user.userinfo.rating -= progress.score
|
||||
progress.user.userinfo.save()
|
||||
|
@@ -6,7 +6,7 @@ from django.utils import timezone
|
||||
|
||||
|
||||
def create_token():
|
||||
symbols = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890'
|
||||
symbols = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890"
|
||||
return "".join([choice(symbols) for _ in range(30)])
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user