language moved to dataclass
This commit is contained in:
@@ -6,6 +6,5 @@ from Main.models.set import Set
|
||||
from Main.models.subscription import Subscription
|
||||
from Main.models.settask import SetTask
|
||||
from Main.models.solution import Solution
|
||||
from Main.models.language import Language
|
||||
from Main.models.extrafile import ExtraFile
|
||||
from Main.models.progress import Progress
|
||||
|
@@ -1,14 +0,0 @@
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Language(models.Model):
|
||||
name = models.TextField()
|
||||
work_name = models.TextField(default='')
|
||||
file_type = models.TextField(null=True)
|
||||
logo = models.ImageField(upload_to="logos", null=True)
|
||||
image = models.TextField(default='ubuntu')
|
||||
highlight = models.TextField(default='plaintext')
|
||||
opened = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
@@ -9,17 +9,21 @@ from django.db import models
|
||||
from django.utils import timezone
|
||||
|
||||
from Main.models.task import Task
|
||||
from Main.models.language import Language
|
||||
from Sprint.settings import CONSTS, SOLUTIONS_ROOT, SOLUTIONS_ROOT_EXTERNAL
|
||||
from SprintLib.language import languages
|
||||
|
||||
|
||||
class Solution(models.Model):
|
||||
task = models.ForeignKey(Task, on_delete=models.CASCADE)
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
language = models.ForeignKey(Language, on_delete=models.SET_NULL, null=True)
|
||||
language_id = models.IntegerField(default=0)
|
||||
time_sent = models.DateTimeField(default=timezone.now)
|
||||
result = models.TextField(default=CONSTS["in_queue_status"])
|
||||
|
||||
@property
|
||||
def language(self):
|
||||
return languages[self.language_id]
|
||||
|
||||
def delete(self, using=None, keep_parents=False):
|
||||
if exists(self.directory):
|
||||
rmtree(self.directory)
|
||||
@@ -38,10 +42,15 @@ class Solution(models.Model):
|
||||
'text': open(join(path, file), 'r').read()
|
||||
}
|
||||
end = file.split('.')[-1]
|
||||
try:
|
||||
highlight = 'language-' + Language.objects.get(file_type=end).highlight
|
||||
except ObjectDoesNotExist:
|
||||
language = None
|
||||
for l in languages:
|
||||
if l.file_type == end:
|
||||
language = l
|
||||
break
|
||||
if language is None:
|
||||
highlight = 'nohighlight'
|
||||
else:
|
||||
highlight = 'language-' + language.highlight
|
||||
entity['highlight'] = highlight
|
||||
data.append(entity)
|
||||
except:
|
||||
|
Reference in New Issue
Block a user