def attach_video(self, request): ''' Attach a video. ''' if not request.target: raise remote.ApplicationError('no target provided for video') target_key = ndb.Key(urlsafe=self.decrypt(request.target)) if not target_key: raise remote.ApplicationError('no target provided for video') target = target_key.get() if not target: raise remote.ApplicationError('no target found for video') url = request.reference if request.provider == 0: provider = 'vimeo' else: provider = 'youtube' asset = Asset(kind='v', url=url) asset.put() video = Video(id='mainvideo', asset=asset.key, url=url, provider=provider, parent=target_key, featured=True) video.put() target.video = video.key target.put() return Echo(message='Saved')