Subversion Repositories SmartDukaan

Rev

Rev 2057 | Rev 8045 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
78 naveen 1
import math
2051 rajveer 2
from math import sqrt, log
78 naveen 3
 
1915 rajveer 4
 
71 naveen 5
def getscore(struct):
78 naveen 6
 
7
    score = 0.0
1915 rajveer 8
    builtin_score = 0.0
9
    expansion_type_score = 0.0
10
    expansion_capacity_score = 0.0
78 naveen 11
 
12
    if struct.has_key("features") :
13
        features = struct.get("features")
14
 
15
        if features.has_key("Built-in") :
16
            builtin = features.get("Built-in")
17
 
18
            if len(builtin) > 0 :
1362 rajveer 19
                builtin = float(builtin[0])
78 naveen 20
                print "builtin=" + `builtin`
1915 rajveer 21
 
2051 rajveer 22
                if builtin <= 1024:
1915 rajveer 23
                    builtin_score = 0.0
78 naveen 24
 
2051 rajveer 25
                elif builtin < 1024*128:
26
                    builtin_score = 1.0
27
 
28
                elif builtin >= 64*1024*1024 :
1915 rajveer 29
                    builtin_score = 10.0 
78 naveen 30
 
1915 rajveer 31
                else :
2057 rajveer 32
                    builtin_score = log(builtin/(1024*64), 2)
78 naveen 33
 
34
        # REVISIT
35
        # Expansion Type : microSD-2, others-1
1915 rajveer 36
        if features.has_key("Expansion type") :
37
            expansion_type = features.get("Expansion type")
38
            if len(expansion_type) > 0 :
39
                expansion_type = expansion_type[0]
40
                if expansion_type ==  "MicroSD card" :
41
                    expansion_type_score = 10
42
                else :
43
                    expansion_type_score = 0.0
78 naveen 44
        # Expansion Capacity : 2, 4, 8, 16, 32
1915 rajveer 45
        if features.has_key("Expansion capacity") :
46
            expansion_capacity = features.get("Expansion capacity")
78 naveen 47
 
1915 rajveer 48
            if len(expansion_capacity) > 0 :
1936 rajveer 49
                expansion_capacity = float(expansion_capacity[0])
1915 rajveer 50
                print "expansion_capacity=" + `expansion_capacity`
78 naveen 51
 
1936 rajveer 52
                if expansion_capacity < 2*1024*1024 :
1915 rajveer 53
                    expansion_capacity_score = 0.0  
78 naveen 54
 
1936 rajveer 55
                elif expansion_capacity >= 32*1024*1024 :
1915 rajveer 56
                    expansion_capacity_score = 10
78 naveen 57
 
1915 rajveer 58
                else :
1936 rajveer 59
                    expansion_capacity_score = (sqrt(32*1024*1024) - sqrt(expansion_capacity)) / (sqrt(32*1024*1024) - sqrt(2*1024)) * 10
1915 rajveer 60
 
61
    print "builtin_score" + `builtin_score`
62
    print "expansion_type_score" + `expansion_type_score`
63
    print "expansion_capacity_score" + `expansion_capacity_score`
78 naveen 64
 
6646 amit.gupta 65
    score = (70*builtin_score +  + 30*expansion_capacity_score)/100
1915 rajveer 66
    return score