コード例 #1
0
ファイル: views.py プロジェクト: Alerion/Pharmacology-DB
def select(request):
    qs = Drug.objects.all()
    mai = MAI(criterion.get_matrix())
    pks = [item.pk for item in qs]
    for cr in criterion.iter():
        alternative = Matrix()
        for drug in qs:
            alternative.append(CompareValue.matrix_row(cr, drug.pk, pks))
        mai.add_alter(alternative)
    result = [item for item in mai()]
    for i in range(len(result)):
        print '%s - %s' % (qs[i].pk, result[i])    
    return HttpResponse('Text!')
コード例 #2
0
ファイル: forms.py プロジェクト: Alerion/Pharmacology-DB
 def search(self):
     self._alters = []
     cr_matrix = criterion.get_matrix(int(self.cleaned_data['type']))      
     if not self.cleaned_data['farm']:
         return []
     qs = self._get_qs(self.cleaned_data['farm'], self.cleaned_data['strong'])
     pks = [item.pk for item in qs]
     if not pks:
         return []                
     mai = MAI(cr_matrix, qs)
     for cr in criterion.iter():
         alternative = Matrix()
         print cr[1]
         for drug in qs:
             print drug
             print CompareValue.matrix_row(cr, drug.pk, pks)
             alternative.append(CompareValue.matrix_row(cr, drug.pk, pks))
         self._alters.append({
             'cr': cr,
             'm': alternative
         })
         
         mai.add_alter(alternative)
     return mai.sort() 
コード例 #3
0
ファイル: criterion.py プロジェクト: Alerion/Pharmacology-DB
 def __init__(self):
     self._items = []
     m = Matrix()
     m.append([1, 1, 1, 1])
     m.append([1, 1, 1, 1])
     m.append([1, 1, 1, 1])
     m.append([1, 1, 1, 1])
     view = """
     [1, 1, 1, 1]
     [1, 1, 1, 1]
     [1, 1, 1, 1]
     [1, 1, 1, 1]        
     """
     self._items.append(Critery(u'Среднестатистический', m, view, True))
     m = Matrix()
     m.append([1,    1/2., 1,    1/3.])
     m.append([2,    1,    1/5., 1/3.])
     m.append([1,    1/5., 1,    1   ])
     m.append([1/3., 1/3., 1,    1   ])
     view = """
     [1,    1/2, 1,    1/3]
     [2,    1,    1/5, 1/3]
     [1,    1/5, 1,    1  ]
     [1/3, 1/3, 1,    1   ]        
     """
     self._items.append(Critery(u'Средний', m, view))
     m = Matrix()
     m.append([1,    3,    3, 1/2.])
     m.append([1/3., 1,    2, 1/2.])
     m.append([1/3., 1/2., 1, 1/4.])
     m.append([2,    2,    4, 1   ])
     view = """
     [1,   3,   3, 1/2]
     [1/3, 1,   2, 1/2]
     [1/3, 1/2, 1, 1/4]
     [2,   2,   4, 1  ]        
     """        
     self._items.append(Critery(u'Женщины', m, view))
     m = Matrix()
     m.append([1,    5, 1,    1/3.])
     m.append([1/5., 1, 1/3., 1/7.])
     m.append([1,    3, 1,    1/3.])
     m.append([3,    7, 3,    1   ])
     view = """
     [1,   5, 1,   1/3]
     [1/5, 1, 1/3, 1/7]
     [1,   3, 1,   1/3]
     [3,   7, 3,   1  ]        
     """
     self._items.append(Critery(u'Беременные, дети', m, view, illness=[3]))
     m = Matrix()
     m.append([1,    9, 5,    1])
     m.append([1/9., 1, 1/9., 1/9.])
     m.append([1/5., 9, 1,    1/5.])
     m.append([1,    9, 5,    1])
     view = """
     [1,   9, 5,   1  ]
     [1/9, 1, 1/9, 1/9]
     [1/5, 9, 1,   1/5]
     [1,   9, 5,   1  ]       
     """        
     self._items.append(Critery(u'Богатые', m, view))