From e33f615205d75c49d5ae6f6d173ac260ff389f16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reynir=20Bj=C3=B6rnsson?= Date: Thu, 13 Feb 2020 12:00:08 +0100 Subject: [PATCH] Use Django cache For caching employees --- tutorial01/onshift/views.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tutorial01/onshift/views.py b/tutorial01/onshift/views.py index 8042008..b0a8eae 100644 --- a/tutorial01/onshift/views.py +++ b/tutorial01/onshift/views.py @@ -5,6 +5,7 @@ from django.utils.dateparse import parse_datetime from django.utils import timezone from django.urls import reverse from django.conf import settings +from django.core.cache import cache import pytz import datetime @@ -17,19 +18,19 @@ local_timezone = pytz.timezone('Europe/Copenhagen') planday = Planday(settings.PLANDAY_APPID, settings.PLANDAY_REFRESH_TOKEN) planday.refresh_access_token() -employee_cache = {} - def today(): return datetime.date.today().isoformat() def get_employee(employee_id): # FIXME: Error handling - if employee_id in employee_cache: - return employee_cache[employee_id] + # FIXME: Use an employee cache, not the default cache + employee = cache.get(employee_id) + if employee: + return employee employee = planday.get_employee(employee_id) if employee == None: return - employee_cache[employee_id] = employee + cache.set(employee_id, employee, timeout=60*60) return employee def index(request):