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)
Exemple #2
0
        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)