Пример #1
0
def get_urls(version=1):
    api = Api(api_name='auth')

    if version == 1:
        api.register(User())

    return api.urls
Пример #2
0
    def test_top_level_include_schema_content(self):
        api = Api()

        note_resource = NoteResource()
        user_resource = UserResource()

        api.register(note_resource)
        api.register(user_resource)

        request = HttpRequest()
        request.GET = {'fullschema': 'true'}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)

        content = json.loads(resp.content.decode('utf-8'))

        content['notes']['schema'] = adjust_schema(content['notes']['schema'])
        content['users']['schema'] = adjust_schema(content['users']['schema'])

        dummy_request = HttpRequest()
        dummy_request.method = 'GET'

        notes_schema = adjust_schema(json.loads(note_resource.get_schema(dummy_request).content.decode('utf-8')))
        user_schema = adjust_schema(json.loads(user_resource.get_schema(dummy_request).content.decode('utf-8')))

        self.assertEqual(content['notes']['list_endpoint'], '/api/v1/notes/')
        self.assertEqual(content['notes']['schema'], notes_schema)

        self.assertEqual(content['users']['list_endpoint'], '/api/v1/users/')
        self.assertEqual(content['users']['schema'], user_schema)
Пример #3
0
    def test_unregister(self):
        tastypie.available_apis = {}
        api = Api()
        api.register(NoteResource())
        api.register(UserResource(), canonical=False)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])
        self.assertEqual(len(tastypie.available_apis), 1)
        self.assertEqual(tastypie.available_apis["v1"]["class"], api)
        self.assertEqual(tastypie.available_apis["v1"]["resources"], ["notes", "users"])
        self.assertEqual(tastypie.available_apis["v1"]["representations"], {"NoteRepresentation": "notes"})

        self.assertEqual(len(api._canonicals), 1)
        api.unregister("users")
        self.assertEqual(len(api._registry), 1)
        self.assertEqual(sorted(api._registry.keys()), ["notes"])
        self.assertEqual(len(api._canonicals), 1)
        self.assertEqual(tastypie.available_apis["v1"]["class"], api)
        self.assertEqual(tastypie.available_apis["v1"]["resources"], ["notes"])
        self.assertEqual(tastypie.available_apis["v1"]["representations"], {"NoteRepresentation": "notes"})

        api.unregister("notes")
        self.assertEqual(len(api._registry), 0)
        self.assertEqual(sorted(api._registry.keys()), [])
        self.assertEqual(tastypie.available_apis["v1"]["class"], api)
        self.assertEqual(tastypie.available_apis["v1"]["resources"], [])
        self.assertEqual(tastypie.available_apis["v1"]["representations"], {})

        api.unregister("users")
        self.assertEqual(len(api._registry), 0)
        self.assertEqual(sorted(api._registry.keys()), [])
        self.assertEqual(tastypie.available_apis["v1"]["class"], api)
        self.assertEqual(tastypie.available_apis["v1"]["resources"], [])
        self.assertEqual(tastypie.available_apis["v1"]["representations"], {})
Пример #4
0
    def test_canonical_resource_for(self):
        tastypie.available_apis = {}
        api = Api()
        note_resource = NoteResource()
        user_resource = UserResource()
        api.register(note_resource)
        api.register(user_resource)
        self.assertEqual(len(api._canonicals), 2)

        self.assertEqual(isinstance(api.canonical_resource_for("notes"), NoteResource), True)

        api_2 = Api()
        self.assertRaises(URLReverseError, tastypie._get_canonical_resource_name, api_2, NoteRepresentation)
        self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, NoteRepresentation), "notes")
        self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, NoteRepresentation()), "notes")
        self.assertEqual(
            tastypie._get_canonical_resource_name(api.api_name, note_resource.detail_representation), "notes"
        )
        self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, UserRepresentation), "users")
        self.assertEqual(tastypie._get_canonical_resource_name(api.api_name, UserRepresentation()), "users")
        self.assertEqual(
            tastypie._get_canonical_resource_name(api.api_name, user_resource.detail_representation), "users"
        )

        api.unregister(user_resource.resource_name)
        self.assertRaises(NotRegistered, api.canonical_resource_for, "users")
Пример #5
0
    def test_top_level_jsonp(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())
        request = HttpRequest()
        request.META = {"HTTP_ACCEPT": "text/javascript"}
        request.GET = {"callback": "foo"}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp["content-type"].split(";")[0], "text/javascript")
        self.assertEqual(
            resp.content.decode("utf-8"),
            'foo({"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}})',
        )

        request = HttpRequest()
        request.META = {"HTTP_ACCEPT": "text/javascript"}
        request.GET = {"callback": ""}

        try:
            resp = api.top_level(request)
            self.fail("Broken callback didn't fail!")
        except BadRequest:
            # Regression: We expect this, which is fine, but this used to
            #             be an import error.
            pass
Пример #6
0
def get_urls(version=1):
    api = Api(api_name='common')

    if version == 1:
        api.register(Country())

    return api.urls
Пример #7
0
    def test_top_level_include_schema_content(self):
        api = Api()

        note_resource = NoteResource()
        user_resource = UserResource()

        api.register(note_resource)
        api.register(user_resource)

        request = HttpRequest()
        request.GET = {"fullschema": "true"}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)

        content = json.loads(resp.content.decode("utf-8"))

        content["notes"]["schema"] = adjust_schema(content["notes"]["schema"])
        content["users"]["schema"] = adjust_schema(content["users"]["schema"])

        dummy_request = HttpRequest()
        dummy_request.method = "GET"

        notes_schema = adjust_schema(json.loads(note_resource.get_schema(dummy_request).content.decode("utf-8")))
        user_schema = adjust_schema(json.loads(user_resource.get_schema(dummy_request).content.decode("utf-8")))

        self.assertEqual(content["notes"]["list_endpoint"], "/api/v1/notes/")
        self.assertEqual(content["notes"]["schema"], notes_schema)

        self.assertEqual(content["users"]["list_endpoint"], "/api/v1/users/")
        self.assertEqual(content["users"]["schema"], user_schema)
Пример #8
0
    def test_custom_api_serializer(self):
        """Confirm that an Api can use a custom serializer"""

        # Origin: https://github.com/django-tastypie/django-tastypie/pull/817

        class JSONSerializer(Serializer):
            formats = ('json', )

        api = Api(serializer_class=JSONSerializer)
        api.register(NoteResource())

        request = HttpRequest()
        request.META = {'HTTP_ACCEPT': 'text/javascript'}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp['content-type'], 'application/json',
                         msg="Expected application/json response but received %s" % resp['content-type'])

        request = HttpRequest()
        request.META = {'HTTP_ACCEPT': 'application/xml'}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp['content-type'], 'application/json',
                         msg="Expected application/json response but received %s" % resp['content-type'])
Пример #9
0
def named_api(api_name):
    """ api_name is the version part of the api path
    """
    new_api = Api(api_name=api_name)

    for resource in resources.__all__:
        new_api.register(getattr(resources, resource)())
    return new_api
Пример #10
0
def get_api():
    addata_api = Api(api_name='v1')
    addata_api.register(LoginResource())
    addata_api.register(URLRecordResource())
    addata_api.register(FBAdResource())
    addata_api.register(FBSponsoredResource()) 
    addata_api.register(FBListingResource()) 
    return addata_api           
Пример #11
0
def get_api():
	# create the naespaces for the applications
	api = Api(api_name='simpleapp')
	api.register(TypeResource())
	api.register(ProductResource())
	
	base_path_regex = r'^api/v1/'
	return base_path_regex,api
Пример #12
0
    def test_top_level(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())
        request = HttpRequest()

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp.content.decode('utf-8'), '{"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}}')
Пример #13
0
 def test_top_level(self):
     api = Api()
     api.register(NoteResource())
     api.register(UserResource())
     request = HttpRequest()
     
     resp = api.top_level(request)
     self.assertEqual(resp.status_code, 200)
     self.assertEqual(resp.content, '{"notes": "/api/v1/notes/", "users": "/api/v1/users/"}')
Пример #14
0
def build_api_urls():
    v1_api = Api(api_name='v1')
    v1_api.register(VideoResource())
    v1_api.register(CategoryResource())

    return patterns(
        'richard.videos.views',

        (r'^api/', include(v1_api.urls)),
        )
Пример #15
0
def resouce_autodiscover(api_name="v1", api_module_name="api"):
    api = Api(api_name=api_name)
    for app in settings.INSTALLED_APPS:
        try:
            resorce_api = import_module('%s.%s' % (app, api_module_name))
            for resource_klass_name in resorce_api.__all__:
                resource_klass = getattr(resorce_api, resource_klass_name)
                api.register(resource_klass())
        except:
            continue
    return api
Пример #16
0
    def test_canonical_resource_for(self):
        api = Api()
        note_resource = NoteResource()
        user_resource = UserResource()
        api.register(note_resource)
        api.register(user_resource)
        self.assertEqual(len(api._canonicals), 2)

        self.assertEqual(isinstance(api.canonical_resource_for('notes'), NoteResource), True)
        api.unregister(user_resource._meta.resource_name)
        self.assertRaises(NotRegistered, api.canonical_resource_for, 'users')
Пример #17
0
    def test_jsonp_not_on_by_default(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())
        request = HttpRequest()
        request.META = {'HTTP_ACCEPT': 'text/javascript'}
        request.GET = {'callback': 'foo'}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp['content-type'].split(';')[0], 'application/json')
        self.assertFalse("foo" in resp.content.decode('utf-8'))
Пример #18
0
def resouce_autodiscover():
    from django.conf import settings
    from django.utils.importlib import import_module
    v1_api = Api(api_name='v1')
    for app in settings.INSTALLED_APPS:
        try:
            resorce_api = import_module('%s.api' % app)
            for resource_klass_name in resorce_api.__all__:
                resource_klass = getattr(resorce_api, resource_klass_name)
                v1_api.register(resource_klass())
        except:
            continue
    return v1_api
Пример #19
0
    def test_top_level_jsonp(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())
        request = HttpRequest()
        request.META = {"HTTP_ACCEPT": "text/javascript"}
        request.GET = {"callback": "foo"}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp["content-type"].split(";")[0], "text/javascript")
        self.assertEqual(
            resp.content,
            'foo({"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}})',
        )
Пример #20
0
 def test_urls(self):
     api = Api()
     api.register(NoteResource())
     api.register(UserResource())
     
     patterns = api.urls
     self.assertEqual(len(patterns), 3)
     self.assertEqual(sorted([pattern.name for pattern in patterns if hasattr(pattern, 'name')]), ['api_v1_top_level'])
     self.assertEqual([[pattern.name for pattern in include.url_patterns if hasattr(pattern, 'name')] for include in patterns if hasattr(include, 'reverse_dict')], [['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail'], ['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail']])
     
     api = Api(api_name='v2')
     api.register(NoteResource())
     api.register(UserResource())
     
     patterns = api.urls
     self.assertEqual(len(patterns), 3)
     self.assertEqual(sorted([pattern.name for pattern in patterns if hasattr(pattern, 'name')]), ['api_v2_top_level'])
     self.assertEqual([[pattern.name for pattern in include.url_patterns if hasattr(pattern, 'name')] for include in patterns if hasattr(include, 'reverse_dict')], [['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail'], ['api_dispatch_list', 'api_get_schema', 'api_get_multiple', 'api_dispatch_detail']])
Пример #21
0
 def test_unregister(self):
     api = Api()
     api.register(NoteResource())
     api.register(UserResource(), canonical=False)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     
     self.assertEqual(len(api._canonicals), 1)
     api.unregister('users')
     self.assertEqual(len(api._registry), 1)
     self.assertEqual(sorted(api._registry.keys()), ['notes'])
     self.assertEqual(len(api._canonicals), 1)
     
     api.unregister('notes')
     self.assertEqual(len(api._registry), 0)
     self.assertEqual(sorted(api._registry.keys()), [])
     
     api.unregister('users')
     self.assertEqual(len(api._registry), 0)
     self.assertEqual(sorted(api._registry.keys()), [])
Пример #22
0
    def test_urls(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())

        patterns = api.urls
        self.assertEqual(len(patterns), 3)
        self.assertEqual(
            sorted([pattern.name for pattern in patterns if hasattr(pattern, "name")]), ["api_v1_top_level"]
        )
        self.assertEqual(
            [
                [pattern.name for pattern in include.url_patterns if hasattr(pattern, "name")]
                for include in patterns
                if hasattr(include, "reverse_dict")
            ],
            [
                ["api_dispatch_list", "api_get_schema", "api_get_multiple", "api_dispatch_detail"],
                ["api_dispatch_list", "api_get_schema", "api_get_multiple", "api_dispatch_detail"],
            ],
        )

        api = Api(api_name="v2")
        api.register(NoteResource())
        api.register(UserResource())

        patterns = api.urls
        self.assertEqual(len(patterns), 3)
        self.assertEqual(
            sorted([pattern.name for pattern in patterns if hasattr(pattern, "name")]), ["api_v2_top_level"]
        )
        self.assertEqual(
            [
                [pattern.name for pattern in include.url_patterns if hasattr(pattern, "name")]
                for include in patterns
                if hasattr(include, "reverse_dict")
            ],
            [
                ["api_dispatch_list", "api_get_schema", "api_get_multiple", "api_dispatch_detail"],
                ["api_dispatch_list", "api_get_schema", "api_get_multiple", "api_dispatch_detail"],
            ],
        )
Пример #23
0
class Api:
    def __init__(self, resources):
        self.tastypieApi = TastypieApi(api_name='resources')
        self.dummy_resources = []
        self.resources = {}

        for resource_class in resources:
            resource = resource_class()
            self.resources[resource._meta.resource_name] = resource
            self.tastypieApi.register(resource)


    @property
    def urls(self):
        from django.conf.urls.defaults import url, patterns
        from dummy import DummyResource
        
        pattern_list =  []
        for resource_name, resource in self.resources.items():
            if resource_name in self.dummy_resources:
                pattern_list.append(
                    (r"^resources/%s/(\d*)/?$" % resource_name, DummyResource.get_view(resource)))

        urls = patterns("",*pattern_list)
        urls += self.tastypieApi.urls
        return urls

    def get_resource_list_uri(self, resource_name):
        return self.resources[resource_name].get_resource_list_uri()

    def get_resource_example_data(self, resource_name, method):
        return self.resources[resource_name].get_example_data(method)

    def resource_allows_method(self, resource_name, method):
        return method.lower() in self.resources[resource_name]._meta.allowed_methods


    def dehydrate(self,request, resource_name, obj):
        resource = self.resources[resource_name]
        bundle = resource.build_bundle(obj=obj, request=request)
        bundle = resource.full_dehydrate(bundle)
        return bundle.data
Пример #24
0
    def test_top_level_jsonp(self):
        api = Api()
        api.register(NoteResource())
        api.register(UserResource())
        request = HttpRequest()
        request.META = {'HTTP_ACCEPT': 'text/javascript'}
        request.GET = {'callback': 'foo'}

        resp = api.top_level(request)
        self.assertEqual(resp.status_code, 200)
        self.assertEqual(resp['content-type'].split(';')[0], 'text/javascript')
        self.assertEqual(resp.content.decode('utf-8'), 'foo({"notes": {"list_endpoint": "/api/v1/notes/", "schema": "/api/v1/notes/schema/"}, "users": {"list_endpoint": "/api/v1/users/", "schema": "/api/v1/users/schema/"}})')

        request = HttpRequest()
        request.META = {'HTTP_ACCEPT': 'text/javascript'}
        request.GET = {'callback': ''}

        # Regression: We expect this, which is fine, but this used to
        #             be an import error.
        with self.assertRaises(BadRequest):
            api.top_level(request)
Пример #25
0
def api_factory():
    API_VERSION = 'v1'
    pootle_api = Api(api_name=API_VERSION)
    pootle_api.register(LanguageResource())
    pootle_api.register(ProjectResource())
    pootle_api.register(TranslationProjectResource())
    return pootle_api
Пример #26
0
 def test_global_registry(self):
     api = Api()
     self.assertEqual(len(api._registry), 0)
     
     api.register(NoteResource())
     self.assertEqual(len(api._registry), 1)
     self.assertEqual(sorted(api._registry.keys()), ['notes'])
     
     api.register(UserResource())
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     
     api.register(UserResource())
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     
     self.assertEqual(len(api._canonicals), 2)
     api.register(UserResource(), canonical=False)
     self.assertEqual(len(api._registry), 2)
     self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
     self.assertEqual(len(api._canonicals), 2)
Пример #27
0
    def test_register(self):
        api = Api()
        self.assertEqual(len(api._registry), 0)

        api.register(NoteResource())
        self.assertEqual(len(api._registry), 1)
        self.assertEqual(sorted(api._registry.keys()), ["notes"])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])

        self.assertEqual(len(api._canonicals), 2)
        api.register(UserResource(), canonical=False)
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])
        self.assertEqual(len(api._canonicals), 2)
Пример #28
0
    def test_register(self):
        # NOTE: these have all been registered in core.tests.api_urls
        api = Api()
        self.assertEqual(len(api._registry), 0)

        api.register(NoteResource())
        self.assertEqual(len(api._registry), 1)
        self.assertEqual(sorted(api._registry.keys()), ['notes'])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])

        self.assertEqual(len(api._canonicals), 2)
        api.register(UserResource(), canonical=False)
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ['notes', 'users'])
        self.assertEqual(len(api._canonicals), 2)
Пример #29
0
    def test_register(self):
        # NOTE: these have all been registered in core.tests.api_urls
        api = Api()
        self.assertEqual(len(api._registry), 0)

        api.register(NoteResource())
        self.assertEqual(len(api._registry), 1)
        self.assertEqual(sorted(api._registry.keys()), ["notes"])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])

        api.register(UserResource())
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])

        self.assertEqual(len(api._canonicals), 2)
        api.register(UserResource(), canonical=False)
        self.assertEqual(len(api._registry), 2)
        self.assertEqual(sorted(api._registry.keys()), ["notes", "users"])
        self.assertEqual(len(api._canonicals), 2)

        self.assertRaises(ValueError, api.register, NoteResource)
Пример #30
0
class FreeAdminSite(object):

    def __init__(self):
        self._registry = {}
        self.v1_api = Api(api_name='v1.0')

    def register(self, model_or_iterable, admin_class=None,
            freeadmin=None, **options):
        """
        Registers the given model(s) with the given admin class.

        The model(s) should be Model classes, not instances.

        If an admin class isn't given, it will use BaseFreeAdmin (default
        admin options). If keyword arguments are given they'll be applied
        as options to the admin class.
        """
        if not admin_class:
            admin_class = BaseFreeAdmin

        if isinstance(model_or_iterable, ModelBase):
            model_or_iterable = [model_or_iterable]
        admins = []

        if model_or_iterable is None:
            admin_obj = admin_class(c=freeadmin, admin=self)
            self._registry[admin_obj] = admin_obj
        else:
            for model in model_or_iterable:
                if model._meta.abstract:
                    log.warn("Model %r is abstract and thus cannot be registered",
                        model)
                    return None
                if model in self._registry:
                    log.debug("Model %r already registered, overwriting...", model)

                # If we got **options then dynamically construct a subclass of
                # admin_class with those **options.
                if options:
                    # For reasons I don't quite understand, without a __module__
                    # the created class appears to "live" in the wrong place,
                    # which causes issues later on.
                    options['__module__'] = __name__
                    admin_class = type("%sAdmin" % model.__name__,
                        (admin_class, ),
                        options)

                # Instantiate the admin class to save in the registry
                admin_obj = admin_class(c=freeadmin, model=model, admin=self)
                self._registry[model] = admin_obj
                model.add_to_class('_admin', admin_obj)

            admins.append(admin_obj)

        return admins

    def unregister(self, model_or_iterable):
        """
        Unregisters the given model(s).

        If a model isn't already registered, this will raise NotRegistered.
        """
        if isinstance(model_or_iterable, ModelBase):
            model_or_iterable = [model_or_iterable]
        for model in model_or_iterable:
            if model not in self._registry:
                raise NotRegistered('The model %s is not registered' % (
                    model.__name__,
                    ))
            del self._registry[model]

    def has_permission(self, request):
        """
        Returns True if the given HttpRequest has permission to view
        *at least one* page in the admin site.
        """
        return request.user.is_active and request.user.is_staff

    def admin_view(self, view, cacheable=False):
        """
        Decorator to create an admin view attached to this ``AdminSite``. This
        wraps the view and provides permission checking by calling
        ``self.has_permission``.

        You'll want to use this from within ``AdminSite.get_urls()``:

            class MyAdminSite(AdminSite):

                def get_urls(self):
                    from django.conf.urls import patterns, url

                    urls = super(MyAdminSite, self).get_urls()
                    urls += patterns('',
                        url(r'^my_view/$', self.admin_view(some_view))
                    )
                    return urls

        By default, admin_views are marked non-cacheable using the
        ``never_cache`` decorator. If the view can be safely cached, set
        cacheable=True.
        """
        def inner(request, *args, **kwargs):
            if not self.has_permission(request):
                if request.path == reverse('account_logout'):
                    index_path = reverse('index', current_app=self.name)
                    return HttpResponseRedirect(index_path)
                return self.login(request)
            return view(request, *args, **kwargs)
        if not cacheable:
            inner = never_cache(inner)
        # We add csrf_protect here so this function can be used as a utility
        # function for any view, without having to repeat 'csrf_protect'.
        if not getattr(view, 'csrf_exempt', False):
            inner = csrf_protect(inner)
        return update_wrapper(inner, view)

    def get_urls(self):
        from freenasUI.freeadmin.api.resources import SnapshotResource

        self.v1_api.register(SnapshotResource())

        def wrap(view, cacheable=False):
            def wrapper(*args, **kwargs):
                return self.admin_view(view, cacheable)(*args, **kwargs)
            return update_wrapper(wrapper, view)

        # Admin-site-wide views.
        urlpatterns = patterns('',
            url(r'^$',
                wrap(self.adminInterface),
                name='index'),
            url(r'^api/',
                include(self.v1_api.urls)),
            url(r'^menu\.json/$',
                wrap(self.menu),
                name="freeadmin_menu"),
            url(r'^alert/status/$',
                wrap(self.alert_status),
                name="freeadmin_alert_status"),
            url(r'^alert/dismiss/$',
                wrap(self.alert_dismiss),
                name="freeadmin_alert_dismiss"),
            url(r'^alert/$',
                wrap(self.alert_detail),
                name="freeadmin_alert_detail"),
        )

        # Add in each model's views.
        for model_admin in self._registry.itervalues():
            urlpatterns += patterns('',
                url(r'^%s/%s/' % (
                    model_admin.app_label,
                    model_admin.module_name,
                    ),
                    include(model_admin.urls))
            )
        return urlpatterns

    @property
    def urls(self):
        return self.get_urls()

    @never_cache
    def adminInterface(self, request):
        from freenasUI.network.models import GlobalConfiguration
        from freenasUI.system.models import Advanced
        try:
            console = Advanced.objects.all().order_by('-id')[0].adv_consolemsg
        except:
            console = False
        try:
            hostname = GlobalConfiguration.objects.order_by(
                '-id')[0].gc_hostname
        except:
            hostname = None
        sw_version = get_sw_version()
        return render(request, 'freeadmin/index.html', {
            'consolemsg': console,
            'hostname': hostname,
            'sw_name': get_sw_name(),
            'sw_version': sw_version,
            'cache_hash': hashlib.md5(sw_version).hexdigest(),
        })

    @never_cache
    def menu(self, request):
        from freenasUI.freeadmin.navtree import navtree
        try:
            navtree.generate(request)
            final = navtree.dijitTree(request.user)
            json = simplejson.dumps(final)
        except Exception, e:
            log.debug("Fatal error while generating the tree json: %s", e)
            json = ""

        return HttpResponse(json, mimetype="application/json")
Пример #31
0
from django.conf.urls import patterns, include, url

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

# tastypie restful stuff
from SiteConf.resources import UserResource, DiseaseTagResource, GeneResource, HVPTransactionResource, OrgSiteResource, UploadResource
from tastypie.api import Api
from tastypie.serializers import Serializer

# version 1.0 of tastypie rest api
v1_api = Api(api_name='v1')
v1_api.register(UserResource())
v1_api.register(DiseaseTagResource())
v1_api.register(GeneResource())
v1_api.register(HVPTransactionResource())
v1_api.register(OrgSiteResource())
v1_api.register(UploadResource())
v1_api.serializer = Serializer(formats=['json'])

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'SiteConf.views.home', name='home'),
    # url(r'^SiteConf/', include('SiteConf.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),
Пример #32
0
    from crits.emails.api import EmailResource
    from crits.events.api import EventResource
    from crits.exploits.api import ExploitResource
    from crits.indicators.api import IndicatorResource, IndicatorActivityResource
    from crits.ips.api import IPResource
    from crits.pcaps.api import PCAPResource
    from crits.raw_data.api import RawDataResource
    from crits.samples.api import SampleResource
    from crits.screenshots.api import ScreenshotResource
    from crits.services.api import ServiceResource
    from crits.signatures.api import SignatureResource
    from crits.targets.api import TargetResource
    from crits.vocabulary.api import VocabResource

    v1_api = Api(api_name='v1')
    v1_api.register(ActorResource())
    v1_api.register(ActorIdentifierResource())
    v1_api.register(BackdoorResource())
    v1_api.register(CampaignResource())
    v1_api.register(CertificateResource())
    v1_api.register(CommentResource())
    v1_api.register(DomainResource())
    v1_api.register(EmailResource())
    v1_api.register(EventResource())
    v1_api.register(ExploitResource())
    v1_api.register(IndicatorResource())
    v1_api.register(IndicatorActivityResource())
    v1_api.register(IPResource())
    v1_api.register(PCAPResource())
    v1_api.register(RawDataResource())
    v1_api.register(SampleResource())
Пример #33
0
# -*- coding: utf-8 -*-
from django.conf.urls import include, url
from tastypie.api import Api

from pipeline.contrib.web.webresource.resource import (
    PipelineTemplateResource, ComponentModelResource, PipelineInstanceResource,
    TemplateSchemeResource)
from pipeline.contrib.web import urls_v1, urls_web
from pipeline.components import urls

v1_api = Api(api_name='v1')
v1_api.register(PipelineTemplateResource())
v1_api.register(ComponentModelResource())
v1_api.register(PipelineInstanceResource())
v1_api.register(TemplateSchemeResource())

urlpatterns = [
    url(r'^', include(urls_web)),
    url(r'^api/', include(v1_api.urls)),
    url(r'^api/v1/', include(urls_v1)),
    url(r'^', include(urls)),
]
Пример #34
0
__author__ = 'wangqiushi'
from django.conf.urls import patterns, url, include
from tastypie.api import Api
from yottaweb.apps.dashboard.resources import DashboardResource

version_api = Api(api_name='v0')
version_api.register(DashboardResource())

urlpatterns = patterns(
    'yottaweb.apps.dashboard.views', (r'^dashboard/$', 'dashboard_group'),
    (r'^dashboard/login/(.+)/(.+)/(.+)/$', 'dashboard_group_login'),
    (r'^dashboard/(?P<did>[\w\d_]+)/(?P<tid>[\w\d_]+)/$', 'dashboard_detail'),
    (r'^api/', include(version_api.urls)))
Пример #35
0
from django.conf.urls import include, url
from tastypie.api import Api
from content_gfk.api.resources import NoteResource, QuoteResource, \
    RatingResource, DefinitionResource

api = Api(api_name='v1')
api.register(NoteResource())
api.register(QuoteResource())
api.register(RatingResource())
api.register(DefinitionResource())

urlpatterns = api.urls
Пример #36
0
# oppia/urls.py
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.views.generic import TemplateView

from oppia.api.resources import TrackerResource, CourseResource, ScheduleResource, TagResource, ScorecardResource
from oppia.api.resources import PointsResource, AwardsResource, BadgesResource, RegisterResource, UserResource
from oppia.quiz.api.resources import QuizResource, QuizPropsResource, QuestionResource
from oppia.quiz.api.resources import QuizQuestionResource, ResponseResource, QuizAttemptResource

from tastypie.api import Api

v1_api = Api(api_name='v1')
v1_api.register(TrackerResource())
v1_api.register(CourseResource())
v1_api.register(ScheduleResource())
v1_api.register(TagResource())
v1_api.register(ScorecardResource())
v1_api.register(PointsResource())
v1_api.register(AwardsResource())
v1_api.register(BadgesResource())
v1_api.register(UserResource())
v1_api.register(RegisterResource())

v1_api.register(QuizResource())
v1_api.register(QuizPropsResource())
v1_api.register(QuestionResource())
v1_api.register(QuizQuestionResource())
v1_api.register(ResponseResource())
v1_api.register(QuizAttemptResource())
Пример #37
0
from django.conf.urls import include, patterns, url
from django.views.generic import TemplateView
from tastypie.api import Api

from api import DistrictResource, LanguageResource, MediatorResource, NonNegotiableResource, PartnerResource, PersonAdoptVideoResource, PersonGroupResource, PersonResource, ScreeningResource, VideoResource, VillageResource, TopicResource, StateResource, BlockResource
from views import coco_v2, debug, login, logout, record_full_download_time, reset_database_check

v1_api = Api(api_name='v2')

v1_api.register(DistrictResource())
v1_api.register(LanguageResource())
v1_api.register(PartnerResource())
v1_api.register(VillageResource())
v1_api.register(StateResource())
v1_api.register(BlockResource())

v1_api.register(MediatorResource())
v1_api.register(PersonAdoptVideoResource())
v1_api.register(PersonResource())
v1_api.register(PersonGroupResource())
v1_api.register(ScreeningResource())
v1_api.register(VideoResource())
v1_api.register(TopicResource())
v1_api.register(NonNegotiableResource())

urlpatterns = patterns(
    '',
    (r'^api/', include(v1_api.urls)),
    (r'^login/', login),
    (r'^logout/', logout),
    (r'^debug/', debug),
Пример #38
0
from django.conf.urls import include, url
from tastypie.api import Api
from apps.forum import views
from apps.forum.resource import ForumResource


api = Api('forum')
api.register(ForumResource())


urlpatterns = [
    url(r'^$', views.HomeView.as_view(), name='home'),
]
Пример #39
0
        face = models.Face.objects.get(pk=bundle.data["id"])

        return face.public_update({
            "tags": tags[:-2],
            "source": bundle.data.get("source", "")
        })

    def obj_create(self, bundle, request=None, **kwargs):
        form = forms.CreateFace(bundle.data)
        if form.is_valid():
            return models.Face.submit(**form.cleaned_data)
        else:
            raise BadRequest("I just don't know what went wrong")


API.register(FaceResource())


class TagResource(ModelResource):
    class Meta:
        queryset = Tag.objects.all()
        include_resource_uri = False
        max_limit = 10000
        allowed_methods = ['get']
        fields = ['name']
        filtering = {"name": ["contains", "startswith"]}


API.register(TagResource())

Пример #40
0
                                nutrition_api_views)
from wger.nutrition.sitemap import NutritionSitemap
from wger.utils.generic_views import (TextTemplateView, WebappManifestView)
from wger.weight.api import (resources as weight_api, views as
                             weight_api_views)

admin.autodiscover()

#
# REST API
#

# /api/v1 - tastypie - deprecated
v1_api = Api(api_name='v1')

v1_api.register(exercises_api.ExerciseCategoryResource())
v1_api.register(exercises_api.ExerciseCommentResource())
v1_api.register(exercises_api.ExerciseImageResource())
v1_api.register(exercises_api.ExerciseResource())
v1_api.register(exercises_api.MuscleResource())
v1_api.register(exercises_api.EquipmentResource())

v1_api.register(nutrition_api.IngredientResource())
v1_api.register(nutrition_api.WeightUnitResource())
v1_api.register(nutrition_api.NutritionPlanResource())
v1_api.register(nutrition_api.MealResource())
v1_api.register(nutrition_api.MealItemResource())
v1_api.register(nutrition_api.IngredientToWeightUnit())

v1_api.register(manager_api.WorkoutResource())
v1_api.register(manager_api.ScheduleResource())
Пример #41
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#########################################################################

from tastypie.api import Api

from .api import TagResource, TopicCategoryResource, ProfileResource, \
    GroupResource, RegionResource, OwnersResource, ThesaurusKeywordResource
from .resourcebase_api import LayerResource, MapResource, DocumentResource, \
    ResourceBaseResource, FeaturedResourceBaseResource

api = Api(api_name='api')

api.register(LayerResource())
api.register(MapResource())
api.register(DocumentResource())
api.register(ProfileResource())
api.register(ResourceBaseResource())
api.register(TagResource())
api.register(RegionResource())
api.register(TopicCategoryResource())
api.register(GroupResource())
api.register(FeaturedResourceBaseResource())
api.register(OwnersResource())
api.register(ThesaurusKeywordResource())
Пример #42
0
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.conf import settings
from django.views.generic import TemplateView

from tastypie.api import Api
from .api.resources import TaskResource, UserResource, MessageResource, FileResource, BugReportResource, ChatResource

v1_api = Api(api_name='v1')
v1_api.register(UserResource())
v1_api.register(TaskResource())
v1_api.register(MessageResource())
v1_api.register(ChatResource())
v1_api.register(FileResource())
v1_api.register(BugReportResource())

urlpatterns = []

if settings.DEBUG:
    if settings.MEDIA_ROOT:
        urlpatterns += static(settings.MEDIA_URL,
                              document_root=settings.MEDIA_ROOT)
Пример #43
0
from tastypie.resources import ModelResource
from tastypie.api import Api
from oookbook.models import Book
from django.contrib.auth.models import User


class BookResource(ModelResource):
    class Meta:
        queryset = Book.objects.all()
        resource_name = 'book'


class UserResource(ModelResource):
    class Meta:
        queryset = User.objects.all()
        resource_name = 'user'
        fields = ['first_name', 'last_name', 'username']


v1_api = Api(api_name='v1')
v1_api.register(BookResource())
v1_api.register(UserResource())
from tastypie.api import Api
from basic.api.resources import NoteResource, UserResource, BustedResource,\
    CachedUserResource, PublicCachedUserResource, PrivateCachedUserResource,\
    CacheDisabledUserResource, SlugBasedNoteResource, SessionUserResource

api = Api(api_name='v1')
api.register(NoteResource(), canonical=True)
api.register(UserResource(), canonical=True)
api.register(CachedUserResource(), canonical=True)
api.register(CacheDisabledUserResource(), canonical=True)
api.register(PublicCachedUserResource(), canonical=True)
api.register(PrivateCachedUserResource(), canonical=True)

v2_api = Api(api_name='v2')
v2_api.register(BustedResource(), canonical=True)
v2_api.register(SlugBasedNoteResource())
v2_api.register(SessionUserResource())

urlpatterns = v2_api.urls + api.urls
Пример #45
0
from dojo.jira_link.urls import urlpatterns as jira_urls
from dojo.trello_link.urls import urlpatterns as trello_urls
from dojo.tool_type.urls import urlpatterns as tool_type_urls
from dojo.tool_config.urls import urlpatterns as tool_config_urls
from dojo.tool_product.urls import urlpatterns as tool_product_urls
from dojo.cred.urls import urlpatterns as cred_urls
from dojo.system_settings.urls import urlpatterns as system_settings_urls
from dojo.notifications.urls import urlpatterns as notifications_urls
import sys

admin.autodiscover()
"""
        Bind multiple resources together to form a coherent API.
"""
v1_api = Api(api_name='v1', )
v1_api.register(UserResource())
v1_api.register(ProductResource())
v1_api.register(EngagementResource())
v1_api.register(TestResource())
v1_api.register(FindingResource())
v1_api.register(FindingTemplateResource())
v1_api.register(ScanSettingsResource())
v1_api.register(ScanResource())
v1_api.register(StubFindingResource())
v1_api.register(ImportScanResource())
v1_api.register(ReImportScanResource())
# v1_api.register(IPScanResource())

ur = []
ur += dev_env_urls
ur += endpoint_urls
Пример #46
0
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
from tastypie.api import Api
from app.resources import *

v1_api = Api(api_name='v1')
v1_api.register(UserByIdResource())
v1_api.register(PortfolioByIdResource())
v1_api.register(GoalByIdResource())
v1_api.register(AppointementsByUserIdResource())
v1_api.register(UserAuth())
v1_api.register(PortfolioInPdf())
v1_api.register(HelpResource())

urlpatterns = [
    path('admin/', admin.site.urls),
    path('api/', include(v1_api.urls))
]
Пример #47
0
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU Affero General Public License for more details.
#
#  You should have received a copy of the GNU Affero General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.

from django.conf.urls.defaults import patterns, include, url
from django.views.generic import TemplateView

from tastypie.api import Api
from lachambre.api import DeputyResource, CommissionMembershipRessource, CommissionResource, DocumentResource, WrittenQuestionResource, AnnualReportRessource

v1_api = Api(api_name='v1')
v1_api.register(AnnualReportRessource())
v1_api.register(DeputyResource())
v1_api.register(CommissionResource())
v1_api.register(CommissionMembershipRessource())
v1_api.register(DocumentResource())
v1_api.register(WrittenQuestionResource())

# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns(
    '',
    url(r'^$', TemplateView.as_view(template_name="home.html"), name='home'),
    url(r'^lachambre/', include('lachambre.urls', namespace='deputies')),
    url(r'^api/', include(v1_api.urls)),
Пример #48
0
from django.conf.urls import url, include
from django.core.urlresolvers import reverse
import registration.backends.default.urls
import django.contrib.auth.urls
from NMTK_server import api, views
from tastypie.api import Api
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
import django.contrib.auth.views
admin.autodiscover()

v1_api = Api(api_name='v1')
v1_api.register(api.DataFileResource())
v1_api.register(api.UserResource())
v1_api.register(api.ToolResource())
# v1_api.register(api.ToolConfigResource())
v1_api.register(api.JobResource())
v1_api.register(api.JobFileResource())
v1_api.register(api.ResultsFileResource())
v1_api.register(api.JobStatusResource())
v1_api.register(api.FeedbackResource())
v1_api.register(api.UserPreference())
v1_api.register(api.ToolSampleFileResource())
v1_api.register(api.MapColorStyleResource())
v1_api.register(api.PageNameResource())
v1_api.register(api.PageContentResource())

urlpatterns = [
    url('^ui/$', views.nmtk_ui, {}, name='nmtk_server_nmtk_ui'),
    url('^$', views.nmtk_index, {}, name='nmtk_server_nmtk_index'),
    url('^terms_of_service/$',
Пример #49
0
    voice = fields.ForeignKey(VoiceResource, 'voice')

    class Meta:
        queryset = Dialogue.objects.all()
        always_return_data = True
        authorization = DjangoAuthorization()
        filtering = {
            'id': ALL,
            'action': ALL_WITH_RELATIONS,
            'voice': ALL_WITH_RELATIONS,
        }


# API structure

v1_api = Api(api_name='v1')
v1_api.register(ActionResource())
v1_api.register(ActionTypeResource())
v1_api.register(DefaultActionSetResource())
v1_api.register(DialogueResource())
v1_api.register(GridResource())
v1_api.register(ItemComboResource())
v1_api.register(ItemResource())
v1_api.register(LayerResource())
v1_api.register(MatrixResource())
v1_api.register(SceneResource())
v1_api.register(TreeResource())
v1_api.register(TreeMenuResource())
v1_api.register(TreeTopicResource())
v1_api.register(VoiceResource())
Пример #50
0
    url(r'^fake-login$', views.fake_login, name='sentry-fake-login'),
    url(r'^trigger-500$', views.raise_exc, name='sentry-raise-exc'),
    url(r'^trigger-500-ioerror$',
        views.raise_ioerror,
        name='sentry-raise-ioerror'),
    url(r'^trigger-500-decorated$',
        views.decorated_raise_exc,
        name='sentry-raise-exc-decor'),
    url(r'^trigger-500-django$', views.django_exc, name='sentry-django-exc'),
    url(r'^trigger-500-template$',
        views.template_exc,
        name='sentry-template-exc'),
    url(r'^trigger-500-log-request$',
        views.logging_request_exc,
        name='sentry-log-request-exc'),
    url(r'^trigger-event$', views.capture_event, name='sentry-trigger-event'),
)

try:
    from tastypie.api import Api
except ImportError:
    pass
else:
    from tests.contrib.django.api import ExampleResource, AnotherExampleResource

    v1_api = Api(api_name='v1')
    v1_api.register(ExampleResource())
    v1_api.register(AnotherExampleResource())

    urlpatterns += (url(r'^api/', include(v1_api.urls)), )
Пример #51
0
from django.conf import settings
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template

from django.contrib import admin
admin.autodiscover()

from pinax.apps.account.openid_consumer import PinaxConsumer

from tastypie.api import Api
from language.api import LanguageResource, UserResource
v1_api = Api(api_name='v1')
v1_api.register(UserResource())
v1_api.register(LanguageResource())
language_resource = LanguageResource()

handler500 = "pinax.views.server_error"

urlpatterns = patterns(
    "",
    url(r"^$",
        direct_to_template, {
            "template": "homepage.html",
        },
        name="home"),
    url(r"^admin/invite_user/$",
        "pinax.apps.signup_codes.views.admin_invite_user",
        name="admin_invite_user"),
    url(r"^admin/", include(admin.site.urls)),
    url(r"^about/", include("about.urls")),
    url(r"^account/", include("pinax.apps.account.urls")),
Пример #52
0
from django.conf.urls import patterns, url, include
from tastypie.api import Api
from yottaweb.apps.application.custom.resources import CustomResource

version_api = Api(api_name='v0')
version_api.register(CustomResource())

urlpatterns = patterns('yottaweb.apps.application.custom.views',
    (r'^app/custom/([\w\d]+)/$', 'overview'),
    (r'^app/table/([\w\d]+)/$', 'table'),
    (r'^api/', include(version_api.urls))
)
Пример #53
0
# NG: facets for Haystack
sqs = (SearchQuerySet().using("core").models(DataSet).facet(
    'measurement').facet('technology').highlight())

# Uncomment the next two lines to enable the admin:
admin.autodiscover()

# Django REST Framework urls
router = routers.DefaultRouter()
router.register(r'workflows', WorkflowViewSet)

# NG: added for tastypie URL
v1_api = Api(api_name='v1')

v1_api.register(AnalysisResource())
v1_api.register(ProjectResource())
v1_api.register(StudyResource())
v1_api.register(AssayResource())
v1_api.register(DataSetResource())
v1_api.register(AttributeOrderResource())
v1_api.register(NodeResource())
v1_api.register(NodeSetResource())
v1_api.register(NodeSetListResource())
v1_api.register(NodePairResource())
v1_api.register(NodeRelationshipResource())
v1_api.register(WorkflowResource())
v1_api.register(WorkflowInputRelationshipsResource())
v1_api.register(StatisticsResource())
v1_api.register(GroupManagementResource())
v1_api.register(UserAuthenticationResource())
Пример #54
0
from django.conf.urls import patterns, include, url
from tastypie.api import Api

from .api import RecipeResource, UserResource

v1_api = Api(api_name='v1')
v1_api.register(UserResource())
v1_api.register(RecipeResource())

urlpatterns = patterns(
    'recipes.views',
    url(r'^recipe/(?P<slug>[-\w]+)/$', 'detail', name='recipes_recipe_detail'),
    url(r'^$', 'index', name='recipes_recipe_index'),
)

urlpatterns += patterns(
    '',
    url(r'^api/', include(v1_api.urls)),
)
Пример #55
0
def get_api_v2():
    api = Api(api_name='v2')
    api.register(TrackerResource())
    api.register(CourseResource())
    api.register(CategoryResource())
    api.register(PointsResource())
    api.register(AwardsResource())
    api.register(BadgesResource())
    api.register(UserResource())
    api.register(RegisterResourceV2())
    api.register(ResetPasswordResource())
    api.register(ProfileUpdateResource())
    api.register(QuizAttemptResource())
    api.register(CourseStructureResource())
    api.register(UserCourseSummaryResource())
    api.register(UsernameResource())
    api.register(DeleteAccountResource())
    api.register(DownloadDataResource())
    api.register(ChangePasswordResource())
    return api
Пример #56
0
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from django.views.generic.base import TemplateView
from tastypie.api import Api

from readthedocs.api.base import (ProjectResource, UserResource,
                                  VersionResource, FileResource)
from readthedocs.core.urls import docs_urls, core_urls, deprecated_urls
from readthedocs.core.views import (HomepageView, SupportView,
                                    server_error_404, server_error_500)
from readthedocs.search import views as search_views


v1_api = Api(api_name='v1')
v1_api.register(UserResource())
v1_api.register(ProjectResource())
v1_api.register(VersionResource())
v1_api.register(FileResource())

admin.autodiscover()

handler404 = server_error_404
handler500 = server_error_500

basic_urls = [
    url(r'^$', HomepageView.as_view(), name='homepage'),
    url(r'^support/', SupportView.as_view(), name='support'),
    url(r'^security/', TemplateView.as_view(template_name='security.html')),
    url(r'^.well-known/security.txt',
        TemplateView.as_view(template_name='security.txt', content_type='text/plain')),
Пример #57
0
Файл: urls.py Проект: foadnh/adm
from django.conf.urls import patterns, include, url
from tastypie.api import Api
from todo.api import TasksResource, RootsResource, PropertiesResource, UsersResource, LogsResource

from django.contrib import admin
admin.autodiscover()

v1_api = Api(api_name='v1')
v1_api.register(TasksResource())
v1_api.register(RootsResource())
v1_api.register(PropertiesResource())
v1_api.register(UsersResource())
v1_api.register(LogsResource())

urlpatterns = patterns(
    '',
    # Examples:
    # url(r'^$', 'adm.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^admin/', include(admin.site.urls)),
    (r'^api/', include(v1_api.urls)),
    url(r'^$', 'todo.views.home', name='home'),
    url(r'^logout/$', 'todo.views.logout_user', name='logout'),
)
Пример #58
0
"""
Tattletale is a Python web service for a realtime news feed
"""

from __future__ import absolute_import

__author__ = 'jag'
__copyright__ = 'Copyright (c) 2013, SocialCode'
__license__ = 'Confidential and proprietary - not licensed for distribution'

import logging

logger = logging.getLogger(__name__)

from tastypie.api import Api
from django.conf.urls.defaults import patterns, include

from .handlers import MessageResource

api = Api(api_name='v1')
api.register(MessageResource())

urlpatterns = patterns('', (r'', include(api.urls)))
Пример #59
0
from django.conf.urls.defaults import *
from tastypie.api import Api
from api import TestResource

api = Api('test')

api.register(TestResource())

urlpatterns = patterns('',
    (r'^api/', include(api.urls)),
)
Пример #60
0
                                          ComponentModelResource,
                                          VariableModelResource)
from gcloud.commons.template.resources import (CommonTemplateResource,
                                               CommonTemplateSchemeResource)
from gcloud.tasktmpl3.resources import (
    TaskTemplateResource,
    TemplateSchemeResource,
)
from gcloud.taskflow3.resources import TaskFlowInstanceResource
from gcloud.contrib.appmaker.resources import AppMakerResource
from gcloud.contrib.function.resources import FunctionTaskResource
from gcloud.periodictask.resources import PeriodicTaskResource
from gcloud.external_plugins.resources import PackageSourceResource, SyncTaskResource

v3_api = Api(api_name='v3')
v3_api.register(BusinessResource())
v3_api.register(TaskTemplateResource())
v3_api.register(ComponentModelResource())
v3_api.register(VariableModelResource())
v3_api.register(TemplateSchemeResource())
v3_api.register(TaskFlowInstanceResource())
v3_api.register(AppMakerResource())
v3_api.register(FunctionTaskResource())
v3_api.register(PeriodicTaskResource())
v3_api.register(CommonTemplateResource())
v3_api.register(CommonTemplateSchemeResource())
v3_api.register(PackageSourceResource())
v3_api.register(SyncTaskResource())

# Standard bits...
urlpatterns = [