Subversion Repositories SmartDukaan

Rev

Rev 8045 | Blame | Compare with Previous | Last modification | View Log | RSS feed

import math
from math import sqrt, log


def getscore(struct):
    
    score = 0.0
    builtin_exp_score = 2.0
    ram_score = 2.0
    builtin = 0
    exp = 0
    
    if struct.has_key("features") :
        features = struct.get("features")
    
        if features.has_key("Built-in") :
            builtin = features.get("Built-in")
            
            if len(builtin) > 0 :
                builtin = float(builtin[0])

        # Expansion Capacity : 2, 4, 8, 16, 32
        if features.has_key("Expansion capacity") :
            expansion_capacity = features.get("Expansion capacity")
            
            if len(expansion_capacity) > 0 :
                exp = float(expansion_capacity[0])
                print "expansion_capacity=" + `expansion_capacity`
        
        total_memory = 3*builtin + exp
        if total_memory > 4*1024*1024:
            if total_memory >= 128*1024*1024:
                builtin_exp_score = 10.0
            else:
                builtin_exp_score = 2.0 + 1.6 * log(total_memory/(4*1024*1024), 2)

        if features.has_key("RAM") :
            ram = features.get("RAM")
            ram = float(ram[0])
            if ram > 1024*64:
                if ram >= 1024*1024*2:
                    ram_score = 10.0
                else:
                    ram_score = 2.0 + 1.6*log(ram/(64*1024), 2)
    print "builtin_exp_score" + `builtin_exp_score`
    print "ram_score" + `ram_score`
    
    
    score = (60*builtin_exp_score +  + 40*ram_score)/100
    return score