Skip to content

Commit

Permalink
Rename warm_up_template_cache to update_template_cache.
Browse files Browse the repository at this point in the history
Removes the intermediate method that we had before which was already
named update_template_cache.
  • Loading branch information
he3lixxx committed Aug 8, 2022
1 parent 5208539 commit 9507d41
Showing 4 changed files with 12 additions and 19 deletions.
4 changes: 2 additions & 2 deletions evap/evaluation/management/commands/refresh_results_cache.py
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@
STATES_WITH_RESULTS_CACHING,
cache_results,
)
from evap.results.views import warm_up_template_cache
from evap.results.views import update_template_cache


class Command(BaseCommand):
@@ -30,6 +30,6 @@ def handle(self, *args, **options):
cache_results(evaluation, refetch_related_objects=False)

self.stdout.write("Prerendering result index page...\n")
warm_up_template_cache(Evaluation.objects.filter(state__in=STATES_WITH_RESULT_TEMPLATE_CACHING))
update_template_cache(Evaluation.objects.filter(state__in=STATES_WITH_RESULT_TEMPLATE_CACHING))

self.stdout.write("Results cache has been refreshed.\n")
4 changes: 2 additions & 2 deletions evap/results/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -32,7 +32,7 @@
)
from evap.results.exporters import TextAnswerExporter
from evap.results.tools import cache_results
from evap.results.views import get_evaluations_with_prefetched_data, warm_up_template_cache
from evap.results.views import get_evaluations_with_prefetched_data, update_template_cache
from evap.staff.tests.utils import WebTestStaffMode, helper_exit_staff_mode, run_in_staff_mode


@@ -283,7 +283,7 @@ def test_evaluation_weight_sums(self):

contributions = [e.general_contribution for e in published]
baker.make(RatingAnswerCounter, contribution=iter(contributions), answer=2, count=2, _quantity=len(published))
warm_up_template_cache(published)
update_template_cache(published)

page = self.app.get(self.url, user=student)
decoded = page.body.decode()
15 changes: 4 additions & 11 deletions evap/results/views.py
Original file line number Diff line number Diff line change
@@ -59,7 +59,8 @@ def _delete_course_template_cache_impl(course):
caches["results"].delete(get_course_result_template_fragment_cache_key(course.id, "de"))


def warm_up_template_cache(evaluations):
def update_template_cache(evaluations):
assert all(evaluation.state in STATES_WITH_RESULT_TEMPLATE_CACHING for evaluation in evaluations)
evaluations = get_evaluations_with_course_result_attributes(get_evaluations_with_prefetched_data(evaluations))
courses_to_render = {evaluation.course for evaluation in evaluations if evaluation.course.evaluation_count > 1}

@@ -96,19 +97,11 @@ def warm_up_template_cache(evaluations):
translation.activate(current_language) # reset to previously set language to prevent unwanted side effects


def update_template_cache(evaluations):
for evaluation in evaluations:
assert evaluation.state in STATES_WITH_RESULT_TEMPLATE_CACHING
_delete_template_cache_impl(evaluation)
warm_up_template_cache([evaluation])


def update_template_cache_of_published_evaluations_in_course(course):
course_evaluations = course.evaluations.filter(state__in=STATES_WITH_RESULT_TEMPLATE_CACHING)
for course_evaluation in course_evaluations:
_delete_evaluation_template_cache_impl(course_evaluation)
update_template_cache(course_evaluations)
# Delete template caches for evaluations that no longer need to be cached (e.g. after unpublishing
_delete_course_template_cache_impl(course)
warm_up_template_cache(course_evaluations)


def get_evaluations_with_prefetched_data(evaluations):
8 changes: 4 additions & 4 deletions evap/staff/tests/test_forms.py
Original file line number Diff line number Diff line change
@@ -955,13 +955,13 @@ def test_course_change_updates_cache(self):
form = EvaluationForm(form_data, instance=evaluation, semester=semester)
self.assertTrue(form.is_valid())
with patch("evap.results.views._delete_course_template_cache_impl") as delete_call, patch(
"evap.results.views.warm_up_template_cache"
) as warmup_call:
"evap.results.views.update_template_cache"
) as update_call:
# save without changes
form.save()
self.assertEqual(Evaluation.objects.get(pk=evaluation.pk).course, course1)
self.assertEqual(delete_call.call_count, 0)
self.assertEqual(warmup_call.call_count, 0)
self.assertEqual(update_call.call_count, 0)

# change course and save
form_data = get_form_data_from_instance(EvaluationForm, evaluation)
@@ -971,7 +971,7 @@ def test_course_change_updates_cache(self):
form.save()
self.assertEqual(Evaluation.objects.get(pk=evaluation.pk).course, course2)
self.assertEqual(delete_call.call_count, 2)
self.assertEqual(warmup_call.call_count, 2)
self.assertEqual(update_call.call_count, 2)

def test_locked_questionnaire(self):
"""

0 comments on commit 9507d41

Please sign in to comment.