def post(self): from libs.feedparser import parse user = users.get_current_user() url = self.request.get('url') p = parse(str(url)) try: d = p['items'][0] except IndexError: pass if user: q = Feeds.query(Feeds.user == user, Feeds.url == url) if q.get() is None: feed = Feeds() def txn(): feed.blog = p.feed.title feed.root = p.feed.link feed.user = user feed.feed = url feed.url = d.link feed.put() ndb.transaction(txn) deferred.defer(utils.new_bm, d, feed.key, _queue="admin") self.redirect(self.request.referer) else: self.redirect('/')
def post(self): user = users.get_current_user() feed = self.request.get('url') q = Feeds.query(Feeds.user == user, Feeds.feed == feed) if user and q.get() == None: d = parse(str(feed)) feed_k = Feeds(feed=feed, title=d['channel']['title'], link=d['channel']['link'], user=user, last_id=d['items'][0].id).put() deferred.defer(pop_feed, feed_k, _queue="user") self.redirect('/feeds') else: self.redirect('/')
def get(self): for feed in Feeds.query(): if feed.notify == 'digest': deferred.defer(utils.feed_digest, feed.key, _target="worker", _queue="admin")
def get(self): for feed in Feeds.query(): deferred.defer(utils.pop_feed, feed.key, _target="worker", _queue="admin")