for i in range(len(appendages)): urls.append(base + ''.join(appendages[:i + 1])) return urls base_search_regexp = r'search/(?P<query>[^/]+)' appendages = [ type_regexp, limit_regexp, platform_regexp, version_regexp, compat_mode ] search_regexps = build_urls(base_search_regexp, appendages) base_list_regexp = r'list' appendages.insert(0, '/(?P<list_type>[^/]+)') list_regexps = build_urls(base_list_regexp, appendages) ad = {'authentication': authentication.AMOOAuthAuthentication(two_legged=True)} class SwitchToDRF(object): """ Waffle switch to move from Piston to DRF. """ def __init__(self, resource_name, with_handler=False, with_viewset=False, only_detail=False): self.resource_name = resource_name self.with_handler = with_handler self.with_viewset = with_viewset self.only_detail = only_detail
api_patterns = patterns('', # Addon_details url('addon/%s$' % ADDON_ID, class_view(views.AddonDetailView), name='api.addon_detail'),) for regexp in search_regexps: api_patterns += patterns('', url(regexp + '/?$', class_view(views.SearchView), name='api.search')) for regexp in list_regexps: api_patterns += patterns('', url(regexp + '/?$', class_view(views.ListView), name='api.list')) ad = dict(authentication=authentication.AMOOAuthAuthentication()) user_resource = Resource(handler=handlers.UserHandler, **ad) addons_resource = Resource(handler=handlers.AddonsHandler, **ad) version_resource = Resource(handler=handlers.VersionsHandler, **ad) piston_patterns = patterns('', url(r'^user/$', user_resource, name='api.user'), url(r'^addons/$', addons_resource, name='api.addons'), url(r'^addon/%s$' % ADDON_ID, addons_resource, name='api.addon'), url(r'^addon/%s/versions$' % ADDON_ID, version_resource, name='api.versions'), url(r'^addon/%s/version/(?P<version_id>\d+)$' % ADDON_ID, version_resource, name='api.version'), ) urlpatterns = patterns('',