def prepend_urls(self): array = [] array.append( url(r"^(?P<resource_name>%s)/(?P<language_code>[\w]+)/(?P<slug>[\w\d_.-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail")) array.append( url(r"^(?P<resource_name>%s)/bestof%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_bestof'), name="api_dispatch_bestof")) array.append( url(r"^(?P<resource_name>%s)/latest%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_latest'), name="api_dispatch_latest")) array.append( url(r"^(?P<resource_name>%s)/random%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_random'), name="api_dispatch_random")) array.append( url(r"^(?P<resource_name>%s)/by-country/(?P<country_code>[\w]+)%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_bycountry'), name="api_dispatch_bycountry")) return array
def base_urls(self): from django.conf.urls.defaults import url from tastypie.utils.urls import trailing_slash """ The standard URLs this ``Resource`` should respond to. """ return [ url(r"^annotations/(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list'), name="api_dispatch_list"), url(r"^annotations/(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^annotations/(?P<resource_name>%s)/set/(?P<%s_list>\w[\w/;-]*)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('get_multiple'), name="api_get_multiple"), url(r"^annotations/(?P<resource_name>%s)/(?P<%s>\w[\w/-]*)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def base_urls(self): """ The standard URLs this ``Resource`` should respond to. """ # Due to the way Django parses URLs, ``get_multiple`` won't work without # a trailing slash. return [ url( r"^(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_list"), name="api_dispatch_list", ), url( r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("get_schema"), name="api_get_schema", ), url( r"^(?P<resource_name>%s)/set/(?P<slug_list>[\w\d_-]+)/$" % self._meta.resource_name, self.wrap_view("get_multiple"), name="api_get_multiple", ), url( r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_detail"), name="api_dispatch_detail", ), ]
def override_urls(self): return [ url(r'^(?P<resource_name>{0})/' '(?P<method_resource_name>{1})/' 'schema{2}$'.format(self._meta.resource_name, MethodResource._meta.resource_name, trailing_slash()), self.wrap_view('get_interface_methods_schema'), name='api_get_interface_methods_schema'), url(r'^(?P<resource_name>{0})/' '(?P<interface_id>\w[\w/-]*)/' '(?P<method_resource_name>{1}){2}$'.format(self._meta.resource_name, MethodResource._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list_interface_methods'), name='api_dispatch_list_interface_methods'), url(r'^(?P<resource_name>{0})/' '(?P<interface_id>\w[\w/-]*)/' '(?P<method_resource_name>{1})/' '(?P<method_id>\w[\w/-]*){2}$'.format(self._meta.resource_name, MethodResource._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail_interface_methods'), name='api_dispatch_detail_interface_methods'), url(r"^(?P<resource_name>%s)/search%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_search'), name="api_get_search"), ]
def override_urls(self): return [ url(r'^(?P<resource_name>{0})/' '(?P<role_resource_name>{1})/' 'schema{2}$'.format(self._meta.resource_name, RoleResource._meta.resource_name, trailing_slash()), self.wrap_view('get_action_roles_schema'), name='api_get_action_roles_schema'), url(r'^(?P<resource_name>{0})/' '(?P<action_id>\w[\w/-]*)/' '(?P<role_resource_name>{1}){2}$'.format(self._meta.resource_name, RoleResource._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list_action_roles'), name='api_dispatch_list_action_roles'), url(r'^(?P<resource_name>{0})/' '(?P<action_id>\w[\w/-]*)/' '(?P<role_resource_name>{1})/' '(?P<role_id>\w[\w/-]*){2}$'.format(self._meta.resource_name, RoleResource._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail_action_roles'), name='api_dispatch_detail_action_roles'), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/accumulation-report%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('accumulation_report'), name="accumulation_report"), url(r"^(?P<resource_name>%s)/product-fitment%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('product_fitment'), name="product_fitment"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<facility_id>\d+)/schema%s$" % ( self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^(?P<resource_name>%s)/(?P<facility_id>\d+)%s$" % ( self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/registration%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_registration_phone'), name="user_registration"), url(r"^(?P<resource_name>%s)/registration/email%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_registration_email'), name="user_registration_email"), ]
def prepend_urls(self): return [ url(r'^(?P<resource_name>{})/'.format(self._meta.resource_name, trailing_slash()), self.wrap_view('get_all_books'), name='get_all_books'), url(r'^(?P<resource_name>{})/(?P<market_place>\w+)/inventory/update' .format(self._meta.resource_name, trailing_slash()), self.wrap_view('update_inventory'), name='api_update_inventory'), ]
def prepend_urls(self): return [ url(r'^(?P<resource_name>%s)/get_data%s$' % (self.Meta.resource_name, trailing_slash()), self.wrap_view('get_data'), name='get_json_data_for_url'), url(r'^(?P<resource_name>%s)/create%s$' % (self.Meta.resource_name, trailing_slash()), self.wrap_view('create_mock'), name='create_and_store_mock'), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/registration%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_registration'), name="user_registration"), url(r"^(?P<resource_name>%s)/preference-save%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_preference'), name="user_preference"), ]
def prepend_urls(self): return [ # loading GPX files url(r"^(?P<resource_name>%s)/load-gpx%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('load_gpx'), name="api_load_gpx"), # querying for the geojson result url(r"^(?P<resource_name>%s)/load-gpx/result/(?P<task_id>[\w\d-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_gpx_result'), name="api_get_geojson") ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/coupons%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_product_coupons'), name="get_product_coupons" ), url(r"^(?P<resource_name>%s)/(?P<product_id>[\d]+)/recycle%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('mail_products_details'), name="mail_products_details" ), url(r"^(?P<resource_name>%s)/get-brands%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_brand_details'), name="get_brand_details" ), url(r"^(?P<resource_name>%s)/accept-product%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_product_acceptance'), name="user_product_acceptance" ), url(r"^(?P<resource_name>%s)/details%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('product_specifications'), name="product_specifications" ), url(r"^(?P<resource_name>%s)/create%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('add_product'), name="add_product"), url(r"^(?P<resource_name>%s)/brand-sync%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('brand_sync'), name="brand_sync"), url(r"^(?P<resource_name>%s)/get-service-details%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_service_details'), name="get_service_details") ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/login%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('login'), name="api_login"), url(r'^(?P<resource_name>%s)/logout%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('logout'), name='api_logout'), url(r'^(?P<resource_name>%s)/auth-status%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('check_auth_status'), name='api_auth-status'), ]
def prepend_urls(self): # TODO: create a custom mapper for schema before others to avoid # complicated regex return [ url( (r"^(?P<resource_name>%s)/log/(?P<apilog>\d+)%s$" ) % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_smallmolecule_apilog_view'), name="api_dispatch_smallmolecule_apilog_view"), url((r"^(?P<resource_name>%s)/(?P<sm_id>((?=(schema))__|(?!(schema))[^/]+))%s$" ) % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def override_urls(self): """ Add urls for search endpoint. """ from panda.api.data import DataResource data_resource = DataResource(api_name=self._meta.api_name) return [ url( r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("get_schema"), name="api_get_schema", ), url( r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_detail"), name="api_dispatch_detail", ), url( r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/import/(?P<upload_id>\d+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("import_data"), name="api_import_data", ), url( r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/export%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("export_data"), name="api_export_data", ), url( r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/reindex%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("reindex_data"), name="api_reindex_data", ), # Nested urls for accessing data url( r"^(?P<dataset_resource_name>%s)/(?P<dataset_slug>[\w\d_-]+)/(?P<resource_name>%s)%s$" % (self._meta.resource_name, data_resource._meta.resource_name, trailing_slash()), data_resource.wrap_view("dispatch_list"), name="api_dataset_data_list", ), url( r"^(?P<dataset_resource_name>%s)/(?P<dataset_slug>[\w\d_-]+)/(?P<resource_name>%s)/(?P<external_id>[\w\d_-]+)%s$" % (self._meta.resource_name, data_resource._meta.resource_name, trailing_slash()), data_resource.wrap_view("dispatch_detail"), name="api_dataset_data_detail", ), url(r"^data%s" % trailing_slash(), data_resource.wrap_view("search_all_data"), name="api_data_search"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/registration/phone%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_registration_phone'), name="user_registration_phone"), url(r"^(?P<resource_name>%s)/registration/email%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('user_registration_email'), name="user_registration_email"), url(r"^(?P<resource_name>%s)/activate-email%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('activate_email'), name="activate_email"), url(r"^(?P<resource_name>%s)/phone-number/send-otp%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('sent_otp_user_phone_number'), name="sent_otp_user_phone_number"), url(r"^(?P<resource_name>%s)/authenticate-email%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('authenticate_user_email_id'), name="authenticate_user_email_id"), url(r"^(?P<resource_name>%s)/send-otp/forgot-password%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('authenticate_user_send_otp'), name="authenticate_user_send_otp"), url(r"^(?P<resource_name>%s)/forgot-password/(?P<type>[a-zA-Z0-9.-]+)%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('change_user_password'), name="change_user_password"), url(r"^(?P<resource_name>%s)/login%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('auth_login'), name="auth_login"), url(r"^(?P<resource_name>%s)/validate-otp/phone%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('validate_otp_phone'), name="validate_otp_phone"), url(r"^(?P<resource_name>%s)/validate-otp/email%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('validate_otp_email'), name="validate_otp_email"), url(r"^(?P<resource_name>%s)/logout%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('logout'), name="logout"), url(r"^(?P<resource_name>%s)/product-details%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_product_details'), name="get_product_details") ]
def prepend_urls(self): return [ url(r'^(?P<resource_name>{})/'.format(self._meta.resource_name, trailing_slash()), self.wrap_view('get_all_books'), name='get_all_books'), url(r'^(?P<resource_name>{})/add'.format(self._meta.resource_name, trailing_slash()), self.wrap_view('add_book'), name='api_add_book'), url(r'^(?P<resource_name>{})/issue'.format( self._meta.resource_name, trailing_slash()), self.wrap_view('issue_book'), name='api_issue_book'), ]
def prepend_urls(self): array = [] array.append( url(r"^project/new%s" % trailing_slash(), self.wrap_view('dispatch_new'), name="api_dispatch_new")) return array
def prepend_urls(self): return [ url(r"^(?P<leaderboard_resource>%s)%s$" % (self._meta.leaderboard_resource, trailing_slash()), self.wrap_view('leaderboard'), name='api_leaderboard'), ]
def override_urls(self): return [ #This is required since /schema can't be differentiated from the detail view. url(r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), #This will take into account the link_field attribute. url(r"^(?P<resource_name>%s)/(?P<%s>\w[\w/-]*)%s$" % (self._meta.resource_name, self._lookup_field(), trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def base_urls(self): """ The standard URLs this ``Resource`` should respond to. """ return [ url(r"^(?P<resource_name>%s)%s$" % ( self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list'), name="api_dispatch_list"), url(r"^(?P<resource_name>%s)/schema%s$" % ( self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^(?P<resource_name>%s)/(?P<%s>.*?)%s$" % ( self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def urls(self): """ Provides URLconf details for the ``Api`` and all registered ``Resources`` beneath it. """ from django.conf.urls.defaults import url, include from tastypie.utils.urls import trailing_slash from client.views import checkin, checkout, login, logout, register, create_anonymous, delete_anonymous pattern_list = [ url(r"^(?P<api_name>%s)%s$" % (self.api_name, trailing_slash()), self.wrap_view('top_level'), name="api_%s_top_level" % self.api_name), ] for name in sorted(self._registry.keys()): self._registry[name].api_name = self.api_name pattern_list.append((r"^(?P<api_name>%s)/resources/" % self.api_name, include(self._registry[name].urls))) ## then add the actions pattern_list.extend([ url(r"^%s/actions/create_anonymous/$" % self.api_name, create_anonymous, name="create_anonymous"), url(r"^%s/actions/delete_anonymous/$" % self.api_name, delete_anonymous, name="delete_anonymous"), url(r"^%s/actions/register/$" % self.api_name, register, name="register"), url(r"^%s/actions/login/$" % self.api_name, login, name="login"), url(r"^%s/actions/logout/$" % self.api_name, logout, name="logout"), url(r"^%s/actions/checkin/$" % self.api_name, checkin, name="checkin"), url(r"^%s/actions/checkout/$" % self.api_name, checkout, name="checkout") ]) urlpatterns = self.prepend_urls() urlpatterns += patterns('', *pattern_list ) return urlpatterns
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/comments%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_comments'), name="api_get_comments"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/count%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('get_status_count'), name="get_status_count"), url(r"^(?P<resource_name>%s)/submit/(?P<id>\d+)%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('submit_indent'), name="submit_indent") ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/user-feeds%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view('feeds_to_user'), name="feeds_to_user"), ]
def override_urls(self): """ Add urls for search endpoint. """ return [ url(r'^(?P<resource_name>%s)/search%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('search'), name='api_search'), ]
def prepend_urls(self): array = [] array.append( url(r"^(?P<resource_name>%s)/(?P<slug>[\w\d_.-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail")) return array
def override_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<username>[\@\w\d_.-:]+)/(?P<group_name_id>[\d]+)%s?" % (self._meta.resource_name,trailing_slash()), self.wrap_view('list_memberships'), name="api_list_memberships"), url(r"^(?P<resource_name>%s)/(?P<username>[\@\w\d_.-:]+)%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('list_memberships'), name="api_list_memberships"), url(r"^(?P<resource_name>%s)%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('list_memberships'), name="api_list_memberships"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/find%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('find_route'), name="api_find_route"), url(r"^(?P<resource_name>%s)/route%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('find_near_by_location'), name="api_find_near_by_location"), url(r"^(?P<resource_name>%s)/review%s$" % (self._meta.resource_name_user, trailing_slash()), self.wrap_view('store_user_reviews'), name="api_store_user_reviews"), url(r"^(?P<resource_name>%s)/get_review%s$" % (self._meta.resource_name_user, trailing_slash()), self.wrap_view('get_user_review'), name="api_get_user_review"), url(r"^(?P<resource_name>%s)/rating%s$" % (self._meta.resource_name_user, trailing_slash()), self.wrap_view('get_rating'), name="api_get_user_review") ]
def override_urls(self): """ Add urls for search endpoint. """ return [ url(r'^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/login_help%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('login_help'), name='api_user_login_help'), ]
def override_urls(self): """ Add urls for search endpoint. """ return [ url(r'^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/download%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('download'), name='api_download_related_upload'), ]
def prepend_urls(self): return [ url(r"^(?P<quiz_resource>%s)/add%s$" % (self._meta.quiz_resource, trailing_slash()), self.wrap_view('add_quiz'), name='api_add_quiz'), url(r"^(?P<create_resource>%s)/game%s$" % (self._meta.create_resource, trailing_slash()), self.wrap_view('create_game'), name='api_create_game'), url(r"^(?P<play_resource>%s)/game%s$" % (self._meta.play_resource, trailing_slash()), self.wrap_view('play_game'), name='api_play_game'), url(r"^(?P<play_resource>%s)/game/submit%s$" % (self._meta.play_resource, trailing_slash()), self.wrap_view('submit_ans'), name='api_submit_ans'), ]
def prepend_urls(self): array = [] array.append( url( r"^(?P<resource_name>%s)/project%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_project"), name="api_dispatch_search", ) ) return array
def override_urls(self): return [ url(r"^(?P<resource_name>%s)/login%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('login'), name="api_login"), url(r"^(?P<resource_name>%s)/forgot-password%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('forgot_password'), name="api_forgot_password"), url(r"^(?P<resource_name>%s)/reset-password%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('reset_password'), name="api_reset_password"), url(r"^(?P<resource_name>%s)/send-email%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('send_email'), name="api_send_email"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/members-details/(?P<status>[a-zA-Z.-]+)%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('pending_redemption_request'), name="pending_redemption_request"), url(r"^(?P<resource_name>%s)/count%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('count_redemption_request'), name="count_redemption_request"), url(r"^(?P<resource_name>%s)/redemption-download%s" % (self._meta.resource_name,trailing_slash()), self.wrap_view('redemption_download'), name="redemption_download"), ]
def prepend_urls(self): return [ url(r"^(?P<question_resource>%s)/add%s$" % (self._meta.question_resource, trailing_slash()), self.wrap_view('add_question'), name='api_add_question'), url(r"^(?P<user_resource>%s)/register%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('register'), name='api_register'), url(r"^(?P<user_resource>%s)/key%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('fetch_key'), name='api_fetch_key'), url(r"^(?P<user_resource>%s)/login%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('login'), name='api_login'), ]
def prepend_urls(self): # NOTE: this match "((?=(schema))__|(?!(schema))[^/]+)" # allows us to match any word (any char except forward slash), # except "schema", and use it as the key value to search for. # also note the double underscore "__" is because we also don't want to # match in the first clause. # We don't want "schema" since that reserved word is used by tastypie # for the schema definition for the resource (used by the UI) return [ url((r"^(?P<resource_name>%s)/(?P<r_id>((?=(schema))__|(?!(schema))[^/]+))%s$" ) % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"),]
def prepend_urls(self): array = [] array.append( url( r"^(?P<resource_name>%s)/(?P<language_code>[\w]+)/(?P<slug>[\w\d_.-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_detail"), name="api_dispatch_detail", ) ) array.append( url( r"^(?P<resource_name>%s)/bestof%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_bestof"), name="api_dispatch_bestof", ) ) array.append( url( r"^(?P<resource_name>%s)/latest%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_latest"), name="api_dispatch_latest", ) ) array.append( url( r"^(?P<resource_name>%s)/random%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_random"), name="api_dispatch_random", ) ) array.append( url( r"^(?P<resource_name>%s)/by-country/(?P<country_code>[\w]+)%s" % (self._meta.resource_name, trailing_slash()), self.wrap_view("dispatch_bycountry"), name="api_dispatch_bycountry", ) ) return array
def base_urls(self): from django.conf.urls.defaults import url from tastypie.utils.urls import trailing_slash """ The standard URLs this ``Resource`` should respond to. """ return [ url(r"^features/(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list'), name="api_dispatch_list"), url(r"^features/(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^features/(?P<resource_name>%s)/set/(?P<%s_list>\w[\w/;-]*)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('get_multiple'), name="api_get_multiple"), url(r"^features/(?P<resource_name>%s)/(?P<%s>\w[\w/-]*)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def base_urls(self): """ The standard URLs this ``Resource`` should respond to. """ # Due to the way Django parses URLs, ``get_multiple`` won't work without # a trailing slash. return [ url(r"^(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_list'), name="api_dispatch_list"), url(r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^(?P<resource_name>%s)/set/(?P<slug_list>[\w\d_-]+)/$" % self._meta.resource_name, self.wrap_view('get_multiple'), name="api_get_multiple"), url(r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def urls(self): """ Provides URLconf details for the ``Api`` and all registered ``Resources`` beneath it. """ from django.conf.urls.defaults import url, include from tastypie.utils.urls import trailing_slash from client.views import checkin, checkout, login, logout, register, create_anonymous, delete_anonymous pattern_list = [ url(r"^(?P<api_name>%s)%s$" % (self.api_name, trailing_slash()), self.wrap_view('top_level'), name="api_%s_top_level" % self.api_name), ] for name in sorted(self._registry.keys()): self._registry[name].api_name = self.api_name pattern_list.append( (r"^(?P<api_name>%s)/resources/" % self.api_name, include(self._registry[name].urls))) ## then add the actions pattern_list.extend([ url(r"^%s/actions/create_anonymous/$" % self.api_name, create_anonymous, name="create_anonymous"), url(r"^%s/actions/delete_anonymous/$" % self.api_name, delete_anonymous, name="delete_anonymous"), url(r"^%s/actions/register/$" % self.api_name, register, name="register"), url(r"^%s/actions/login/$" % self.api_name, login, name="login"), url(r"^%s/actions/logout/$" % self.api_name, logout, name="logout"), url(r"^%s/actions/checkin/$" % self.api_name, checkin, name="checkin"), url(r"^%s/actions/checkout/$" % self.api_name, checkout, name="checkout") ]) urlpatterns = self.prepend_urls() urlpatterns += patterns('', *pattern_list) return urlpatterns
def override_urls(self): """ Add urls for search endpoint. """ from panda.api.data import DataResource data_resource = DataResource(api_name=self._meta.api_name) return [ url(r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_schema'), name="api_get_schema"), url(r"^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), url(r'^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/import/(?P<upload_id>\d+)%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('import_data'), name='api_import_data'), url(r'^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/export%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('export_data'), name='api_export_data'), url(r'^(?P<resource_name>%s)/(?P<slug>[\w\d_-]+)/reindex%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('reindex_data'), name='api_reindex_data'), # Nested urls for accessing data url(r'^(?P<dataset_resource_name>%s)/(?P<dataset_slug>[\w\d_-]+)/(?P<resource_name>%s)%s$' % (self._meta.resource_name, data_resource._meta.resource_name, trailing_slash()), data_resource.wrap_view('dispatch_list'), name='api_dataset_data_list'), url(r'^(?P<dataset_resource_name>%s)/(?P<dataset_slug>[\w\d_-]+)/(?P<resource_name>%s)/(?P<external_id>[\w\d_-]+)%s$' % (self._meta.resource_name, data_resource._meta.resource_name, trailing_slash()), data_resource.wrap_view('dispatch_detail'), name='api_dataset_data_detail'), url(r'^data%s' % trailing_slash(), data_resource.wrap_view('search_all_data'), name='api_data_search') ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<hash>[a-fA-F0-9]{%d})%s$" % (self._meta.resource_name, settings.YEARBOOK_HASH_LENGTH, trailing_slash()), self.wrap_view('dispatch_list'), name="api_dispatch_list"), url(r"^(?P<resource_name>%s)/(?P<hash>[a-fA-F0-9]{%d})/(?P<%s>\w[\w/-]*)/next/(?P<next_index>[\d]+)%s$" % (self._meta.resource_name, settings.YEARBOOK_HASH_LENGTH, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('get_next'), name="api_get_next_photo"), url(r"^(?P<resource_name>%s)/(?P<hash>[a-fA-F0-9]{%d})/(?P<%s>\w[\w/-]*)/next/(?P<next_index>[\d]+)/(?P<photo_index>[\d]+)%s$" % (self._meta.resource_name, settings.YEARBOOK_HASH_LENGTH, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('get_next'), name="api_get_next_photo_number"), url(r"^(?P<resource_name>%s)/(?P<hash>[a-fA-F0-9]{%d})/(?P<%s>\w[\w/-]*)%s$" % (self._meta.resource_name, settings.YEARBOOK_HASH_LENGTH, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_detail'), name="api_dispatch_detail"), ]
def prepend_urls(self): return [ url(r"^(?P<equipment_resource>%s)/equip%s$" % (self._meta.equipment_resource, trailing_slash()), self.wrap_view('get_equipment'), name='api_get_equipment'), url(r"^(?P<equipment_resource>%s)/switch%s$" % (self._meta.equipment_resource, trailing_slash()), self.wrap_view('toggle_equipment'), name='api_toggle_equipment'), url(r"^(?P<equipment_resource>%s)/add%s$" % (self._meta.equipment_resource, trailing_slash()), self.wrap_view('add_equipment'), name='api_add_equipment'), url(r"^(?P<user_resource>%s)/signup%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('create_user'), name='api_create_user'), url(r"^(?P<user_resource>%s)/login%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('validate_user'), name='api_validate_user'), url(r"^(?P<user_resource>%s)/budget%s$" % (self._meta.user_resource, trailing_slash()), self.wrap_view('add_budget'), name='api_add_budget') ]
def prepend_urls(self): array = [] array.append(url(r"^project/new%s" % trailing_slash(), self.wrap_view("dispatch_new"), name="api_dispatch_new")) return array
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<code>\S+)/join%s$" % (self._meta.resource_name, trailing_slash(),), self.wrap_view('join_table'), name="api_join_table"), url(r"^(?P<resource_name>%s)/(?P<code>\S+)/leave%s$" % (self._meta.resource_name, trailing_slash(),), self.wrap_view('leave_table'), name="api_join_table"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/unlocked%s$" % (self._meta.resource_name, trailing_slash(),), self.wrap_view('unlocked'), name="api_unlocked_phone"), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/view-products%s" %(self._meta.resource_name, trailing_slash()), self.wrap_view('view_products'), name="view_products" ) ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/search%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_search'), name="api_get_search"), ]
def test_callable(self): self.assertEqual(trailing_slash(), '/')
def override_urls(self): """ Add urls for search endpoint. """ return [ url(r'^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/download%s$' % (self._meta.resource_name, trailing_slash()), self.wrap_view('download'), name='api_download_data_upload'), ]
def prepend_urls(self): return [ url(r"^(?P<resource_name>%s)/(?P<pk>\w[\w/-]*)/children%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('get_children'), name="api_get_children"), ]
def override_urls(self): return [ url(r"^(?P<resource_name>%s)%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('login'), name="api_dispatch_list"), url(r"^(?P<resource_name>%s)/register%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('register'), name="api_register"), ]
def prepend_urls(self): ''' Add our custom endpoints specific to set operations. ''' return [ url(r"^(?P<resource_name>%s)/(?P<l_set_id>[0-9a-f]{32})/(?P<operation>union)/(?P<r_set_id>[0-9a-f]{32})%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_union"), # @IgnorePep8 url(r"^(?P<resource_name>%s)/(?P<l_set_id>[0-9a-f]{32})/(?P<operation>intersection)/(?P<r_set_id>[0-9a-f]{32})%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_intersection"), # @IgnorePep8 url(r"^(?P<resource_name>%s)/(?P<l_set_id>[0-9a-f]{32})/(?P<operation>difference)/(?P<r_set_id>[0-9a-f]{32})%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_difference"), # @IgnorePep8 url(r"^(?P<resource_name>%s)/(?P<l_set_id>[0-9a-f]{32})/(?P<operation>sdifference)/(?P<r_set_id>[0-9a-f]{32})%s$" % (self._meta.resource_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_sdifference"), # @IgnorePep8 url(r"^(?P<resource_name>%s)/(?P<%s>[0-9a-f]{32})/(?P<operation>cardinality)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_sdifference"), # @IgnorePep8 url(r"^(?P<resource_name>%s)/(?P<%s>[0-9a-f]{32})/(?P<operation>members)%s$" % (self._meta.resource_name, self._meta.detail_uri_name, trailing_slash()), self.wrap_view('dispatch_set_operation'), name="api_dispatch_members"), # @IgnorePep8 ]
api_1_0 = Api(api_name='1.0') api_1_0.register(ActivityLogResource()) api_1_0.register(CategoryResource()) api_1_0.register(DatasetResource()) api_1_0.register(DataUploadResource()) api_1_0.register(ExportResource()) api_1_0.register(NotificationResource()) api_1_0.register(RelatedUploadResource()) api_1_0.register(SearchSubscriptionResource()) api_1_0.register(TaskResource()) api_1_0.register(UserResource()) urlpatterns = patterns( '', url(r'^login%s$' % trailing_slash(), views.panda_login, name="login"), url(r'^logout%s$' % trailing_slash(), views.panda_logout, name="logout"), url(r'^check_activation_key/(?P<activation_key>[\w\d]+)%s$' % trailing_slash(), views.check_activation_key, name="check_activation_key"), url(r'^activate%s$' % trailing_slash(), views.activate, name="activate"), url(r'^forgot_password%s$' % trailing_slash(), views.forgot_password, name="forgot_password"), url(r'^check_available_space%s$' % trailing_slash(), views.check_available_space, name="check_available_space"), url(r'^data_upload%s$' % trailing_slash(), views.data_upload, name="data_upload"),