def get_assets_json(self, story=None, featured=False): if story is None: story = self.object resource = AssetResource() to_be_serialized = {} objects = resource.obj_get_list(self.request, featured=featured, story_id=story.story_id) sorted_objects = resource.apply_sorting(objects) to_be_serialized['objects'] = sorted_objects # Dehydrate the bundles in preparation for serialization. bundles = [resource.build_bundle(obj=obj) for obj in to_be_serialized['objects']] to_be_serialized['objects'] = [resource.full_dehydrate(bundle) for bundle in bundles] to_be_serialized = resource.alter_list_data_to_serialize(request=None, data=to_be_serialized) return resource.serialize(None, to_be_serialized, 'application/json')
def get_assets_json(self, story=None, featured=False): if story is None: story = self.object resource = AssetResource() to_be_serialized = {} bundle = resource.build_bundle() # Set the resource request's user to match this view's # request's user. Otherwise authorization checks won't work bundle.request.user = self.request.user objects = resource.obj_get_list(bundle, featured=featured, story_id=story.story_id) sorted_objects = resource.apply_sorting(objects) to_be_serialized['objects'] = sorted_objects # Dehydrate the bundles in preparation for serialization. bundles = [resource.build_bundle(obj=obj) for obj in to_be_serialized['objects']] to_be_serialized['objects'] = [resource.full_dehydrate(bundle) for bundle in bundles] to_be_serialized = resource.alter_list_data_to_serialize(request=None, data=to_be_serialized) return resource.serialize(None, to_be_serialized, 'application/json')
from storybase_geo.api import (GeocoderResource, GeoLevelResource, LocationResource, PlaceResource) from storybase_help.api import (HelpResource) from storybase_story.api import StoryResource from storybase_taxonomy.api import TagResource # Override default error handler with one that uses RequestContext handler500 = 'storybase.views.defaults.server_error' admin.autodiscover() urlpatterns = patterns('') # Set up Tastypie API resources v0_1_api = Api(api_name='0.1') v0_1_api.register(AssetResource()) v0_1_api.register(DataSetResource()) v0_1_api.register(StoryResource()) v0_1_api.register(GeocoderResource()) v0_1_api.register(GeoLevelResource()) v0_1_api.register(LocationResource()) v0_1_api.register(PlaceResource()) v0_1_api.register(HelpResource()) v0_1_api.register(TagResource()) urlpatterns += patterns('', # REST API (r'^api/', include(v0_1_api.urls)), # Proxy for Creative Commons endpoint # Cache responses for 24 hours url(r"^api/%s/license/get/" % v0_1_api.api_name, cache_page(60 * 60 * 24)(CreativeCommonsLicenseGetProxyView.as_view()),