sprint/Main/models/extrafile.py
2021-08-29 21:43:34 +03:00

28 lines
745 B
Python

from os import remove
from os.path import join, exists
from django.db import models
from Sprint.settings import DATA_ROOT
class ExtraFile(models.Model):
task = models.ForeignKey('Task', on_delete=models.CASCADE)
filename = models.TextField()
is_test = models.BooleanField(null=True)
readable = models.BooleanField(null=True)
test_number = models.IntegerField(null=True)
@property
def path(self):
return join(DATA_ROOT, 'extra_files', str(self.id))
@property
def text(self):
return open(self.path, 'r').read()
def delete(self, using=None, keep_parents=False):
if exists(self.path):
remove(self.path)
super().delete(using=using, keep_parents=keep_parents)