def read(self, request, asset_id): """ Retrieves the information associated to a given digital asset :param request: :param id: :return: """ if "provider" not in request.user.userprofile.get_current_roles(): return build_response(request, 403, "You are not authorized to retrieve digital asset information") try: asset_manager = AssetManager() response = asset_manager.get_provider_asset_info(request.user, asset_id) except ObjectDoesNotExist as e: return build_response(request, 404, unicode(e)) except PermissionDenied as e: return build_response(request, 403, unicode(e)) except: return build_response(request, 500, "An unexpected error occurred") return HttpResponse(json.dumps(response), status=200, mimetype="application/json; charset=utf-8")