Skip to content

Commit

Permalink
Fix conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
adityacp committed Apr 15, 2021
2 parents 81cad0a + e53b86c commit 745f02b
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 43 deletions.
4 changes: 2 additions & 2 deletions requirements/requirements-common.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
-r requirements-codeserver.txt
invoke==0.21.0
django==3.0.7
django==3.1.7
django-taggit==1.2.0
pytz==2019.3
requests-oauthlib>=0.6.1
Expand All @@ -16,7 +16,7 @@ redis==3.4.1
notifications-plugin==0.1.2
django-celery-beat==2.0.0
django-celery-results==1.2.1
djangorestframework==3.11.0
djangorestframework==3.11.2
django-cors-headers==3.1.0
Pillow
pandas
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def get_version():


install_requires = [
'django==3.0.7',
'django==3.1.7',
'django-taggit==1.2.0',
'pytz==2019.3',
'requests-oauthlib>=0.6.1',
Expand Down
49 changes: 18 additions & 31 deletions yaksh/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
from django.db.models.signals import pre_delete
from django.db.models.fields.files import FieldFile
from django.core.exceptions import SuspiciousFileOperation
from django.core.files.base import ContentFile
# Local Imports
from yaksh.code_server import (
submit, get_result as get_result_from_code_server
Expand Down Expand Up @@ -167,9 +168,9 @@ def dict_to_yaml(dictionary):

def get_file_dir(instance, filename):
if isinstance(instance, LessonFile):
upload_dir = instance.lesson.name.replace(" ", "_")
upload_dir = f"Lesson_{instance.lesson.id}"
else:
upload_dir = instance.name.replace(" ", "_")
upload_dir = f"Lesson_{instance.id}"
return os.sep.join((upload_dir, filename))


Expand Down Expand Up @@ -337,7 +338,7 @@ def __str__(self):
return "{0}".format(self.name)

def get_files(self):
return LessonFile.objects.filter(lesson=self)
return LessonFile.objects.filter(lesson_id=self.id)

def _create_lesson_copy(self, user):
lesson_files = self.get_files()
Expand All @@ -346,20 +347,19 @@ def _create_lesson_copy(self, user):
new_lesson.creator = user
new_lesson.save()
for _file in lesson_files:
file_name = os.path.basename(_file.file.name)
if os.path.exists(_file.file.path):
lesson_file = open(_file.file.path, "rb")
django_file = File(lesson_file)
lesson_file_obj = LessonFile()
lesson_file_obj.lesson = new_lesson
lesson_file_obj.file.save(file_name, django_file, save=True)
try:
file_name = os.path.basename(_file.file.name)
lesson_file = ContentFile(_file.file.read())
new_lesson_file = LessonFile()
new_lesson_file.lesson_id=self.id
new_lesson_file.file.save(file_name, lesson_file, save=True)
new_lesson_file.save()
except FileNotFoundError:
pass
return new_lesson

def remove_file(self):
if self.video_file:
file_path = self.video_file.path
if os.path.exists(file_path):
os.remove(file_path)
self.video_file.delete()

def _add_lesson_to_zip(self, next_unit, module, course, zip_file, path):
lesson_name = self.name.replace(" ", "_")
Expand Down Expand Up @@ -388,21 +388,16 @@ def _add_lesson_to_zip(self, next_unit, module, course, zip_file, path):
write_templates_to_zip(zip_file, unit_file_path, lesson_data,
lesson_name, sub_folder_name)

pre_delete.connect(file_cleanup, sender=Lesson)

#############################################################################
class LessonFile(models.Model):
lesson = models.ForeignKey(Lesson, related_name="lesson",
on_delete=models.CASCADE)
file = models.FileField(upload_to=get_file_dir, default=None)

def remove(self):
if os.path.exists(self.file.path):
os.remove(self.file.path)
if os.listdir(os.path.dirname(self.file.path)) == []:
os.rmdir(os.path.dirname(self.file.path))
self.delete()

pre_delete.connect(file_cleanup, sender=LessonFile)

###############################################################################
class QuizManager(models.Manager):
def get_active_quizzes(self):
Expand Down Expand Up @@ -1584,11 +1579,10 @@ def _add_and_get_files(self, zip_file):
files_list = []
for f in files:
zip_file.writestr(
os.path.join("additional_files",
os.path.basename(f.file.url)),
os.path.join("additional_files", os.path.basename(f.file.name)),
f.file.read()
)
files_list.append(((os.path.basename(f.file.url)), f.extract))
files_list.append(((os.path.basename(f.file.name)), f.extract))
return files_list

def _add_files_to_db(self, file_names, path):
Expand Down Expand Up @@ -1681,13 +1675,6 @@ class FileUpload(models.Model):
extract = models.BooleanField(default=False)
hide = models.BooleanField(default=False)

def remove(self):
if os.path.exists(self.file.path):
os.remove(self.file.path)
if os.listdir(os.path.dirname(self.file.path)) == []:
os.rmdir(os.path.dirname(self.file.path))
self.delete()

def set_extract_status(self):
if self.extract:
self.extract = False
Expand Down
2 changes: 1 addition & 1 deletion yaksh/templates/yaksh/showquestions.html
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
</p>
</div>
<div class="card-body">
<form action="" method="post" enctype="multipart/form-data">
<form action="{% url 'yaksh:show_questions' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group col-md-6">
<a class="btn btn-info" href="{% url 'yaksh:download_yaml_template' %}">
Expand Down
4 changes: 2 additions & 2 deletions yaksh/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -2612,14 +2612,14 @@ def test_short_key(self):
def test_generate_image(self):
# Given
qrcode = self.qrcode
image_name = 'qrcode/{0}.png'.format(qrcode.short_key)
image_name = qrcode.short_key

# When
qrcode.generate_image('test')

# Then
self.assertTrue(qrcode.is_active())
self.assertEqual(qrcode.image.name, image_name)
self.assertIn(image_name, qrcode.image.name)

def test_get_qrcode(self):
# Given
Expand Down
8 changes: 2 additions & 6 deletions yaksh/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2234,11 +2234,7 @@ def test_duplicate_course(self):
self.assertTrue(expected_lesson_files.exists())
self.assertEquals(expected_lesson_files[0].file.read(), file_content)

for lesson_file in self.all_files:
file_path = lesson_file.file.path
if os.path.exists(file_path):
os.remove(file_path)
shutil.rmtree(os.path.dirname(file_path))
self.all_files.delete()

def test_download_course_offline(self):
""" Test to download course with lessons offline"""
Expand Down Expand Up @@ -4352,7 +4348,7 @@ def test_enroll_request_get_for_moderator(self):



class TestGrader(SimpleTestCase):
class TestGrader(TestCase):
allow_database_queries = True

def setUp(self):
Expand Down
2 changes: 2 additions & 0 deletions yaksh/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1440,6 +1440,7 @@ def monitor(request, quiz_id=None, course_id=None, attempt_number=1):


def _get_questions(user, question_type, marks):
questions = None
if question_type is None and marks is None:
return None
if question_type:
Expand Down Expand Up @@ -1467,6 +1468,7 @@ def _remove_already_present(questionpaper_id, questions):

def _get_questions_from_tags(question_tags, user, active=True, questions=None):
search_tags = []
search = None
for tags in question_tags:
search_tags.extend(re.split('[; |, |\*|\n]', tags))
if questions:
Expand Down

0 comments on commit 745f02b

Please sign in to comment.