import common def NormalizeURL(url): return url def MetadataObjectForURL(url): return VideoClipObject(title = url) def MediaObjectsForURL(url): cb = Callback(PlayVideo, url = url) mo = MediaObject( parts = [ PartObject( key = cb ) ] ) return [ mo ] @indirect def PlayVideo(url): final = common.final_video_url(url) if final: return IndirectResponse(VideoClipObject, key = final) else: raise Ex.MediaNotAvailable