Subversion Repositories SmartDukaan

Rev

Rev 1915 | Rev 2051 | 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
1915 rajveer 2
from math import sqrt
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
 
1936 rajveer 22
                if builtin <= 1024 :
1915 rajveer 23
                    builtin_score = 0.0
78 naveen 24
 
1936 rajveer 25
                elif builtin >= 16*1024*1024 :
1915 rajveer 26
                    builtin_score = 10.0 
78 naveen 27
 
1915 rajveer 28
                else :
1936 rajveer 29
                    builtin_score = 10 - (sqrt(16*1024*1024) - sqrt(builtin)) / (sqrt(16*1024*1024) - sqrt(1024)) * 10 
78 naveen 30
 
31
        # REVISIT
32
        # Expansion Type : microSD-2, others-1
1915 rajveer 33
        if features.has_key("Expansion type") :
34
            expansion_type = features.get("Expansion type")
35
            if len(expansion_type) > 0 :
36
                expansion_type = expansion_type[0]
37
                if expansion_type ==  "MicroSD card" :
38
                    expansion_type_score = 10
39
                else :
40
                    expansion_type_score = 0.0
78 naveen 41
        # Expansion Capacity : 2, 4, 8, 16, 32
1915 rajveer 42
        if features.has_key("Expansion capacity") :
43
            expansion_capacity = features.get("Expansion capacity")
78 naveen 44
 
1915 rajveer 45
            if len(expansion_capacity) > 0 :
1936 rajveer 46
                expansion_capacity = float(expansion_capacity[0])
1915 rajveer 47
                print "expansion_capacity=" + `expansion_capacity`
78 naveen 48
 
1936 rajveer 49
                if expansion_capacity < 2*1024*1024 :
1915 rajveer 50
                    expansion_capacity_score = 0.0  
78 naveen 51
 
1936 rajveer 52
                elif expansion_capacity >= 32*1024*1024 :
1915 rajveer 53
                    expansion_capacity_score = 10
78 naveen 54
 
1915 rajveer 55
                else :
1936 rajveer 56
                    expansion_capacity_score = (sqrt(32*1024*1024) - sqrt(expansion_capacity)) / (sqrt(32*1024*1024) - sqrt(2*1024)) * 10
1915 rajveer 57
 
58
    print "builtin_score" + `builtin_score`
59
    print "expansion_type_score" + `expansion_type_score`
60
    print "expansion_capacity_score" + `expansion_capacity_score`
78 naveen 61
 
1915 rajveer 62
    score = (50*builtin_score + 10*expansion_type_score + 40*expansion_capacity_score)/100
63
    return score