Subversion Repositories SmartDukaan

Rev

Rev 78 | Rev 1915 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

import math

def getscore(struct):
    
    score = 0.0
    
    if struct.has_key("features") :
        features = struct.get("features")
    
        # Built-in : <=50-0.5, <=100-1, <=250-1.5, >250-2
        if features.has_key("Built-in") :
            builtin = features.get("Built-in")
            
            if len(builtin) > 0 :
                builtin = int(builtin[0])
                print "builtin=" + `builtin`
                 
                if builtin <=50 :
                    score += 0.5
                    
                elif builtin <=100 :
                    score += 1
                
                elif builtin <=250 :
                    score += 1.5
                    
                elif builtin > 250 :
                    score += 2
                      
        # RAM : <=128-2, <=256-4, >256-6
        if features.has_key("RAM") :
            ram = features.get("RAM")
            
            if len(ram) > 0 :
                ram = int(ram[0])
                print "ram=" + `ram`
                 
                if ram <= 128 :
                    score += 1
                    
                elif builtin <= 256 :
                    score += 2

                elif builtin > 256 :
                    score += 3
        
        # REVISIT
        # Expansion Type : microSD-2, others-1
        
        # Expansion Capacity : 2, 4, 8, 16, 32
        if features.has_key("Expansion Capacity") :
            ec = features.get("Expansion Capacity")
            
            if len(ec) > 0 :
                ec = int(ec[0])
                print "ec=" + `ec`
                 
                if ec <= 2 :
                    score += 0.5
                    
                elif ec <= 4 :
                    score += 1
                
                elif ec <= 8 :
                    score += 1.5
                    
                elif ec > 16 :
                    score += 2
    
    return int(math.floor(score))