Commit 5a7158af authored by Daniel W Bond's avatar Daniel W Bond

Merge branch 'amherst' of git.gmu.edu:srct/roomlist into amherst

parents 914b51fc 20ad550e
...@@ -3,6 +3,7 @@ from __future__ import absolute_import, print_function ...@@ -3,6 +3,7 @@ from __future__ import absolute_import, print_function
# core django imports # core django imports
from django.conf.urls import patterns, include, url from django.conf.urls import patterns, include, url
from django.views.generic import RedirectView from django.views.generic import RedirectView
from django.views.decorators.cache import cache_page
# imports from your apps # imports from your apps
from .views import BuildingList, BuildingRetrieve, FloorRetrieve, RoomRetrieve,\ from .views import BuildingList, BuildingRetrieve, FloorRetrieve, RoomRetrieve,\
MajorList, MajorRetrieve, APIRoot MajorList, MajorRetrieve, APIRoot
...@@ -12,24 +13,31 @@ from .views import BuildingList, BuildingRetrieve, FloorRetrieve, RoomRetrieve,\ ...@@ -12,24 +13,31 @@ from .views import BuildingList, BuildingRetrieve, FloorRetrieve, RoomRetrieve,\
# API v1 # API v1
# separate out major and building patterns # separate out major and building patterns
building_urls = patterns('', building_urls = patterns('',
url(r'^$', BuildingList.as_view(), name='api_list_buildings'), url(r'^$', cache_page(60*60)(BuildingList.as_view()),name='api_list_buildings'),
url(r'^(?P<building_name>[\w-]+)/$', BuildingRetrieve.as_view(), name='api_detail_building'), url(r'^(?P<building_name>[\w-]+)/$', cache_page(60*60)(BuildingRetrieve.as_view()),
name='api_detail_building'),
# the naming here and for floors is a little obnoxious # the naming here and for floors is a little obnoxious
url(r'^(?P<building__building_name>[\w-]+)/(?P<floor_num>\d+)/$', FloorRetrieve.as_view(), name='api_detail_floor'), url(r'^(?P<building__building_name>[\w-]+)/(?P<floor_num>\d+)/$', cache_page(60*60)(FloorRetrieve.as_view()),
name='api_detail_floor'),
# list all the floors still? # list all the floors still?
url(r'^(?P<floor__building__building_name>[\w-]+)/(?P<floor__floor_num>\d+)/(?P<room_num>\d+)/$', RoomRetrieve.as_view(), name='api_detail_room'), url(r'^(?P<floor__building__building_name>[\w-]+)/(?P<floor__floor_num>\d+)/(?P<room_num>\d+)/$', cache_page(60*60)(RoomRetrieve.as_view()),
name='api_detail_room'),
# list all the rooms still? # list all the rooms still?
) )
major_urls = patterns('', major_urls = patterns('',
url(r'^$', MajorList.as_view(), name='api_list_majors'), url(r'^$', cache_page(60*60)(MajorList.as_view()),
url(r'^(?P<slug>[\w-]+)/$', MajorRetrieve.as_view(), name='api_detail_major'), name='api_list_majors'),
url(r'^(?P<slug>[\w-]+)/$', cache_page(60*60)(MajorRetrieve.as_view()),
name='api_detail_major'),
) )
# Added API Caching
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^v1/housing/', include(building_urls)), url(r'^v1/housing/', include(building_urls)),
url(r'^v1/majors/', include(major_urls)), url(r'^v1/majors/', include(major_urls)),
url(r'^v1/$', APIRoot.as_view(), name='api_root'), url(r'^v1/$', cache_page(60*60)(APIRoot.as_view()),
name='api_root'),
url(r'^$', RedirectView.as_view(pattern_name='api_root')), url(r'^$', RedirectView.as_view(pattern_name='api_root')),
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment