def _get_presentation(obj, request, objid): if obj: if not isinstance(obj, Presentation): return None else: obj = Presentation.get_by_id_for_request(objid, request) if not obj: return None return obj
def _get_presentation(obj, request, objid): if obj: if not isinstance(obj, Presentation): return None else: obj = Presentation.get_by_id_for_request(objid, request) if not obj: return None return obj
def raw_manifest(request, id, name, offline=False): p = Presentation.get_by_id_for_request(id, request) if not p: return dict(result='error') owner = request.user if request.user.is_authenticated() else None slides = p.items.select_related('record').filter(hidden=False) return { '@context': reverse(manifest, kwargs=dict(id=p.id, name=p.name)), '@type': 'sc:Manifest', '@id': get_id(request, 'presentation', 'presentation%d' % p.id, 'manifest'), 'label': p.title, 'metadata': [], 'description': p.description, 'sequences': [{ '@id': get_id(request, 'presentation', 'presentation%d' % p.id, 'all'), '@type': 'sc:Range', 'label': 'All slides', 'canvases': [ slide_manifest( request, slide, owner, offline=offline, ) for slide in slides ] + [ special_slide( request, kind='blank', label='End of presentation', offline=offline, ) ] }], }