def get(self): challenge = self.request.get('hub.challenge') mode = self.request.get('hub.mode') topic = self.request.get('hub.topic') logging.info('challenge: %s' % challenge) logging.info('mode: %s' % mode) logging.info('topic: %s' % topic) # logging.info('current user: %s '% users.get_current_user()) self.response.headers['Content-Type'] = 'text/plain' self.response.out.write(challenge) if mode == 'subscribe': feed = Feed.gql('WHERE topic = :1', topic) if feed.count()>0: r = feed.get() r.topic_verified = True db.put(r) logging.info('topic {%s} is verified'% r.topic) else: logging.error('can not find the topic {%s}'% topic) elif mode == 'unsubscribe': feeds = Feed.gql('WHERE topic = :1', topic) logging.debug('%s feeds to delete' % feeds.count()) for feed in feeds: logging.info('deleting {%s}'%feed.topic) db.delete(feed) logging.debug('delete feed')
def get(self): ''' display home page''' current_user = users.get_current_user() name = '' feeds = None if current_user: name = current_user.nickname() # self.response.headers.add_header('Set-Cookie','%s=%s' % (COOKIE_USER, name)) hub_topic = 'https://www.googleapis.com/buzz/v1/activities/%s/@public' % name feeds = Feed.gql('WHERE g_user = :1', current_user) feed_count = feeds.count() logging.debug('feeds: %s' % feed_count) if feed_count < 1: ''' add a new feed record ''' feed = Feed() feed.g_user = current_user feed.topic = hub_topic feed.topic_verified = False feed.put() logging.info("add new feed record for user {%s}" % current_user) template_values = { 'user': name, 'feeds': feeds, 'login_url': users.create_login_url(self.request.uri), 'logout_url': users.create_logout_url(self.request.uri), } path = os.path.join(os.path.dirname(__file__), 'index.html') self.response.out.write(template.render(path, template_values))