コード例 #1
0
ファイル: picker.py プロジェクト: Harikiranvuyyuru/PS4M
def getPicksForGroup(items, user, numRequested, resultSet):
    log.debug("Trying to pick %d results out %d items" % (numRequested, len(items)))

    # Score all possible items.
    itemsToScore = {}
    for i in items:
        # If the items has already been voted, give it a score of zero.
        if(user.hasVotedOnUrl(i)):
            # XXX: aren't we filtering this out else wh
            itemsToScore[i] = ScoredValue(0, "")
            continue

        #destScore = user.destinationScorer.getScore(i, itemCounters.getCounter("urlDomain"))
        titleScore = user.titleScorer.getScore(i, getCounter("title"))
        sourceScore = user.sourceScorer.getScore(i, getCounter("source"))

        itemsToScore[i] = ScoredValue(sourceScore.score * titleScore.score, "Source =\n%s\nTitle = %s\n" % (sourceScore, titleScore))

    sortedItems = sorted(itemsToScore.iteritems(), key=lambda x: x[1].score, reverse=True)

    for i in sortedItems:
        (item, score) = i

        if(score.score <= 0):
            break

        resultSet.attemptAdd(item, score, "top")
        if(len(resultSet) >= numRequested):
            break
コード例 #2
0
ファイル: explorer.py プロジェクト: Harikiranvuyyuru/PS4M
def getTopItemsByTitle(items, user, numRequested, resultSet):
    itemsToScore = {}

    for i in items:
        if(user.hasVotedOnUrl(i) or user.hasVotedOnSource(i)):
            # XXX: Maybe just drop it?
            itemsToScore[i] = ScoredValue(0, "")
            continue

        itemsToScore[i] = user.titleScorer.getScore(i, getCounter("title"))
    sortedItems = sorted(itemsToScore.iteritems(), key=lambda x: x[1].score, reverse=True)

    for i in sortedItems:
        if(len(resultSet) == numRequested):
            break

        (item, score) = i
        if(score.score <= 0):
            break

        resultSet.attemptAdd(item, score, "explorer")