From 3488347325868739b488bf79edbc6ed098fcc85b Mon Sep 17 00:00:00 2001 From: Craig Loftus Date: Tue, 21 Jun 2016 21:39:14 +0100 Subject: [PATCH 1/3] Add initial calls to meetup api --- .gitignore | 1 + oxfordpython/main/templates/index.html | 2 ++ oxfordpython/meetup/__init__.py | 0 oxfordpython/meetup/apps.py | 7 +++++++ oxfordpython/meetup/context_processors.py | 8 ++++++++ oxfordpython/settings/base.py | 2 ++ 6 files changed, 20 insertions(+) create mode 100644 oxfordpython/meetup/__init__.py create mode 100644 oxfordpython/meetup/apps.py create mode 100644 oxfordpython/meetup/context_processors.py diff --git a/.gitignore b/.gitignore index 1ece494..9aeb29d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ db.sqlite3 *.pyc +oxfordpython/settings/local.py diff --git a/oxfordpython/main/templates/index.html b/oxfordpython/main/templates/index.html index 986a4a1..5764dca 100644 --- a/oxfordpython/main/templates/index.html +++ b/oxfordpython/main/templates/index.html @@ -1 +1,3 @@

Hello

+ +{{ meetup.name }} diff --git a/oxfordpython/meetup/__init__.py b/oxfordpython/meetup/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/oxfordpython/meetup/apps.py b/oxfordpython/meetup/apps.py new file mode 100644 index 0000000..3cae5a0 --- /dev/null +++ b/oxfordpython/meetup/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class MeetupConfig(AppConfig): + name = 'meetup' diff --git a/oxfordpython/meetup/context_processors.py b/oxfordpython/meetup/context_processors.py new file mode 100644 index 0000000..953c7f1 --- /dev/null +++ b/oxfordpython/meetup/context_processors.py @@ -0,0 +1,8 @@ +from django.conf import settings + +import meetup.api + + +def meetup_group(request): + mclient = meetup.api.Client(settings.MEETUP_API_KEY) + return {'meetup': mclient.GetGroup({'urlname': 'oxfordpython'})} diff --git a/oxfordpython/settings/base.py b/oxfordpython/settings/base.py index 162b024..c109f6c 100644 --- a/oxfordpython/settings/base.py +++ b/oxfordpython/settings/base.py @@ -32,6 +32,7 @@ 'django.contrib.messages', 'django.contrib.staticfiles', 'oxfordpython.main', + 'oxfordpython.meetup', ] MIDDLEWARE_CLASSES = [ @@ -58,6 +59,7 @@ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'oxfordpython.meetup.context_processors.meetup_group', ], }, }, From f70837ee5331012b4554c538947fcecdb48ea75a Mon Sep 17 00:00:00 2001 From: Craig Loftus Date: Tue, 21 Jun 2016 21:46:42 +0100 Subject: [PATCH 2/3] Cache api response --- oxfordpython/meetup/context_processors.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/oxfordpython/meetup/context_processors.py b/oxfordpython/meetup/context_processors.py index 953c7f1..9c11a4b 100644 --- a/oxfordpython/meetup/context_processors.py +++ b/oxfordpython/meetup/context_processors.py @@ -1,8 +1,15 @@ from django.conf import settings +from django.core.cache import cache import meetup.api +MEETUP_CACHE_KEY = 'meetup_getgroup' + def meetup_group(request): - mclient = meetup.api.Client(settings.MEETUP_API_KEY) - return {'meetup': mclient.GetGroup({'urlname': 'oxfordpython'})} + group = cache.get(MEETUP_CACHE_KEY) + if not group: + mclient = meetup.api.Client(settings.MEETUP_API_KEY) + group = mclient.GetGroup({'urlname': 'oxfordpython'}) + cache.set(MEETUP_CACHE_KEY, group, 600) # Cache for 10mins, because caching + return {'meetup': group} From c40ecac5a32acc1ba1f9ad9502c80c6bf4848390 Mon Sep 17 00:00:00 2001 From: craigloftus Date: Tue, 21 Jun 2016 22:02:47 +0100 Subject: [PATCH 3/3] Create README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b99f63a --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# oxfordpython.com + +## Development + +You will need to add a `oxfordpython/settings/local.py` file, like: + +``` +MEETUP_API_KEY = '' +```