def create_api_blueprint(self, collection_name, api_name=None, api_prefix=API_PREFIX, methods_allowed=['GET', ], pk_type='str', pk='_id'): """ """ collection = self.get_collection(collection_name) view_name, endpoint, blueprint_name = self.format_names(collection, api_name, api_prefix) # format_names returns a tuple with the names used to register the views and blueprints. try: collection_view = APIView.as_view(view_name, collection) # Flask pluggable view except TypeError: # This exception occurs because flask views don't support unicode # And pymongo collections.name returns a unicode value collection_view = APIView.as_view(str(view_name), collection, pk) methods_allowed = self.format_methods(methods_allowed) self.validate_methods(MongoAPI.METHODS_SUPPORTED, methods_allowed) blueprint = Blueprint(str(blueprint_name), __name__, api_prefix) blueprint.add_url_rule(endpoint, view_func=collection_view, methods=self.root_methods(methods_allowed[:])) #/api/collection_name/ endpoint = create_url_placeholder(endpoint, pk_type, pk) blueprint.add_url_rule(endpoint, view_func=collection_view, methods=self.document_methods(methods_allowed[:])) #/api/collection_name/primary_key blueprint.mongo_rest_api = True return blueprint
def create_api_blueprint(self, collection_name, api_name=None, api_prefix=API_PREFIX, methods_allowed=[ 'GET', ], pk_type='str', pk='_id'): """ """ collection = self.get_collection(collection_name) view_name, endpoint, blueprint_name = self.format_names( collection, api_name, api_prefix ) # format_names returns a tuple with the names used to register the views and blueprints. try: collection_view = APIView.as_view( view_name, collection) # Flask pluggable view except TypeError: # This exception occurs because flask views don't support unicode # And pymongo collections.name returns a unicode value collection_view = APIView.as_view(str(view_name), collection, pk) methods_allowed = self.format_methods(methods_allowed) self.validate_methods(MongoAPI.METHODS_SUPPORTED, methods_allowed) blueprint = Blueprint(str(blueprint_name), __name__, api_prefix) blueprint.add_url_rule(endpoint, view_func=collection_view, methods=self.root_methods( methods_allowed[:])) #/api/collection_name/ endpoint = create_url_placeholder(endpoint, pk_type, pk) blueprint.add_url_rule( endpoint, view_func=collection_view, methods=self.document_methods( methods_allowed[:])) #/api/collection_name/primary_key blueprint.mongo_rest_api = True return blueprint
from django.conf.urls import patterns, url from views import HomeView, APIView, JqueryView, JhtmlView, CarView, SampleView, ValidationView, UserView, UserListView, EditView, DeleteView urlpatterns = patterns("apps", url(r'^$',HomeView.as_view(),name='home'), url(r'^get-list/$',APIView.as_view(),name='get_list'), url(r'^jquery/$',JqueryView.as_view(),name='jquery'), url(r'^jhtml/$',JhtmlView.as_view(),name='jhtml'), url(r'^add-car/$',CarView.as_view(),name='add-car'), url(r'^sample/$',SampleView.as_view(),name='sample'), url(r'^jvalid/$',ValidationView.as_view(),name='jvalid'), url(r'^add-user/$',UserView.as_view(),name='add-user'), url(r'^all-user/$',UserListView.as_view(),name='all-user'), url(r'^edit-user/$',EditView.as_view(),name='edit-user'), url(r'^delete-user/$',DeleteView.as_view(),name='delete-user'), )
url(r"^courses/(?P<course_id>\d+)/manage$", ManageView.as_view(), name="course-manage"), url(r"^courses/(?P<course_id>\d+)/authcheck$", views.check_course_authorization, name="course-authorization-check"), url( r"^courses/(?P<course_id>\d+)/exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)/(?P<exercise_name>\d+)$", ExerciseView.as_view(), name="course-exercises", ), url( r"^courses/(?P<course_id>\d+)/exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)$", ExerciseView.as_view(), name="course-exercise-groups", ), url(r"^courses/(?P<course_id>\d+)/exercises$", ExerciseView.as_view()), url(r"^courses/(?P<course_id>\d+)$", PlayView.as_view(), name="course-index"), # Non-Course Exercises url(r"^manage$", ManageView.as_view(), name="manage"), url( r"^exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)/(?P<exercise_name>\d+)$", ExerciseView.as_view(), name="exercises" ), url(r"^exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)$", ExerciseView.as_view(), name="exercise-groups"), url(r"^exercises$", ExerciseView.as_view()), # API url(r"^api$", APIView.as_view(), name="api"), url(r"^api/v1/exercises$", APIExerciseView.as_view(), name="api-exercises"), url(r"^api/v1/groups$", APIGroupView.as_view(), name="api-groups"), # LTI -- deprecated -- moved into separate app named "lti" # Mainting these URLs for backwards compatibility. Remove when possible. url(r"^lti-launch$", LTILaunchView.as_view(), name="lti-launch"), url(r"^lti-config$", LTIToolConfigView.as_view(), name="lti-config"), )
from lti.views import LTIToolConfigView, LTILaunchView urlpatterns = patterns( '', url(r'^$', PlayView.as_view(), name='index'), # Course Exercises url(r'^courses/(?P<course_id>\d+)/manage$', ManageView.as_view(), name="course-manage"), url(r'^courses/(?P<course_id>\d+)/authcheck$', views.check_course_authorization, name="course-authorization-check"), url(r'^courses/(?P<course_id>\d+)/exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)/(?P<exercise_name>\d+)$', ExerciseView.as_view(), name="course-exercises"), url(r'^courses/(?P<course_id>\d+)/exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)$', ExerciseView.as_view(), name="course-exercise-groups"), url(r'^courses/(?P<course_id>\d+)/exercises$', ExerciseView.as_view()), url(r'^courses/(?P<course_id>\d+)$', PlayView.as_view(), name="course-index"), # Non-Course Exercises url(r'^manage$', ManageView.as_view(), name="manage"), url(r'^exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)/(?P<exercise_name>\d+)$', ExerciseView.as_view(), name="exercises"), url(r'^exercises/(?P<group_name>[a-zA-Z0-9_\-.]+)$', ExerciseView.as_view(), name="exercise-groups"), url(r'^exercises$', ExerciseView.as_view()), # API url(r'^api$', APIView.as_view(), name="api"), url(r'^api/v1/exercises$', APIExerciseView.as_view(), name="api-exercises"), url(r'^api/v1/groups$', APIGroupView.as_view(), name="api-groups"), # LTI -- deprecated -- moved into separate app named "lti" # Mainting these URLs for backwards compatibility. Remove when possible. url(r'^lti-launch$', LTILaunchView.as_view(), name='lti-launch'), url(r'^lti-config$', LTIToolConfigView.as_view(), name='lti-config'), )