コード例 #1
0
ファイル: handlersapi.py プロジェクト: sportlin/newsshow
    def post(self):
        self.response.headers['Content-Type'] = 'text/plain'
        data = json.loads(self.request.body)
        eventCriterion = globalconfig.getEventCriterion()
        twitterAccount = globalconfig.getTwitterAccount()

        key = data['key']
        if key == 'sites':
            sitePages = snapi.getSitePages()
            matchedWords = _saveWords(key, data['words'], sitePages)
            heapi.summarizeEvents(eventCriterion, key, matchedWords, sitePages, twitterAccount)
        elif key == 'chartses':
            chartsPages = snapi.getChartsPages()
            matchedWords = _saveWords(key, data['words'], chartsPages)
            heapi.summarizeEvents(eventCriterion, key, matchedWords, chartsPages, twitterAccount)
        else:
            channel = globalconfig.getChannel(key)
            if not channel:
                logging.warn('Channel %s does not exist.' % (channel, ))
            elif not channel.get('tags'):
                logging.warn('Channel %s has no tags.' % (channel, ))
            else:
                sitePages = snapi.getSitePages()
                channelPages = snapi.getPagesByTags(sitePages, channel.get('tags'))
                if channelPages:
                    matchedWords = _saveWords(key, data['words'], channelPages)
                    heapi.summarizeEvents(eventCriterion, key, matchedWords, channelPages, twitterAccount)

        self.response.out.write('Done.')
コード例 #2
0
ファイル: handlers.py プロジェクト: sportlin/newsshow
    def get(self, keyword):
        pages = []
        spages = []
        words = []
        if keyword:
            import jieba # May fail to load jieba
            jieba.initialize(usingSmall=True)
            words = list(jieba.cut(keyword, cut_all=False))
            words = [ word for word in words if len(word) > 1 ]
            # words = list(jieba.cut_for_search(keyword))
            keyword = stringutil.parseUnicode(keyword)
            pages = snapi.getAllPages()
            pages = globalutil.search(pages, words)
            globalutil.populateSourceUrl(pages)

            twitterAccount = globalconfig.getTwitterAccount()
            spages = bs.search(words[0], twitterAccount)

        templateValues = {
            'keyword': keyword,
            'pages': pages,
            'spages': spages,
            'words': words,
        }
        self.render(templateValues, 'search.html')