def post(self): broadcaster = BroadcastMessage() userUtil = UserUtils() title = self.request.get('title', None) link = self.request.get('link', None) domain = self.request.get('domain', None) user_id = self.request.get('user_id', None) updated = self.request.get('updated', None) embeded = self.request.get('e', None) link_category = self.request.get('link_category', None) subscribers = simplejson.loads(self.request.get('subscribers', None)) message = Message( title = title, link = link , domain = domain) user = SessionModel.gql('WHERE __key__ = :1', db.Key(user_id)).get() if user is None: logging.info('can\'t determine user by id: %s' % user_id) return logging.info('user %s' % user.instaright_account) avatar = userUtil.getAvatar(user.instaright_account) logging.info('avatar %s' %avatar) messageAsJSON = [{'u':{'id':user_id, 't':title,'ol':link, 'l':LinkUtils.generate_instaright_link(user.url_encode26, LinkUtils.make_title(title)),'d':domain,'dd': LinkUtils.generate_domain_link(domain), 'a':avatar, 'u':updated, 'source': user.client, 'lc':link_category, 'html_lc':LinkUtils.getLinkCategoryHTML(user), 'e': embeded, 'n': int(time.mktime(datetime.datetime.now().timetuple()))}}] logging.info('sending message %s ' %messageAsJSON) broadcaster.send_message(messageAsJSON) xmpp_handler.send_message(subscribers, message)
def post(self): category=self.request.get('category', None) url_hash=self.request.get('url', None) userUtil=UserUtils() if category is None or len(category) == 0: logging.info('no category in request. skipping ...') return if url_hash is None: logging.info('no url in request. skipping ...') return model = SessionModel.gql('WHERE url_hash = :1 order by date desc', url_hash).get() if model is None: logging.error('no session model for url hash %s ' %url_hash) return category_path='/category/%s' %category broadcaster = BroadcastMessage() date_published='' if model.date is not None: date_published=model.date.strftime("%Y-%m-%dT%I:%M:%SZ") messageAsJSON = [{'u':{'id':str(model.key()), 't':unicode(model.title),'l':model.url,'d':model.domain,'u': date_published, 'a':userUtil.getAvatar(model.instaright_account),'ol':model.url,'c':category, 'lc':category}}] logging.info('sending category message %s for users on path %s' % (messageAsJSON, category_path)) broadcaster.send_message(messageAsJSON,category_path)