def _addFeedObject(self, request): user = endpoints.get_current_user() if not user: raise endpoints.UnauthorizedException('Authorization required') user_id = getUserId(user) if not request.url: raise endpoints.BadRequestException("Feed 'url' field required") if not request.get_full_article: setattr(request, 'get_full_article', False) d = feedparser.parse(request.url) data = {field.name: getattr(request, field.name) for field in request.all_fields()} del data['websafeKey'] data['title'] = d.feed.title data['description'] = d.feed.description data['link'] = d.feed.link data['updated'] = mktime(d.feed.updated_parsed) p_key = ndb.Key(Profile, user_id) feed_id = Feed.allocate_ids(size=1, parent=p_key)[0] feed_key = ndb.Key(Feed, feed_id, parent=p_key) data['key'] = feed_key Feed(**data).put() self._addFeedItem(request, feed_key, d) return request