Ejemplo n.º 1
0
 def get_filter(self):
     table = self.tableChoice.Value
     column = self.colChoice.Value
     comparator = self.comparatorChoice.GetValue()
     value = self.valueField.GetValue()
     if self._get_col_type() in [int, float, long]:
         # Don't quote numbers
         return sql.Filter(sql.Column(table, column), comparator, '%s'%(value))
     if comparator.upper() in ['IS', 'IS NOT'] and value.upper() == 'NULL':
         # Don't quote comparisons to NULL
         return sql.Filter(sql.Column(table, column), comparator, '%s'%(value))
     return sql.Filter(sql.Column(table, column), comparator, '"%s"'%(value))
Ejemplo n.º 2
0
 def as_filter(self):
     if len(self._gate_list) == 0:
         import sqltools
         return sqltools.Filter()
     fltr = self._gate_list[0].as_filter()
     for g in self._gate_list[1:]:
         fltr.and_filter(g.as_filter())
     return fltr
Ejemplo n.º 3
0
 def update_info(self):
     gate = self.gatelist.GetStringSelection()
     self.deletebtn.Enable(gate in p.gates)
     if gate:
         self.gateinfo.Value = str(p.gates[gate])
         p._filters[gate] = sqltools.Filter(p.gates[gate].as_filter())
     else:
         self.gateinfo.Value = ''
     print gate, p._filters[gate]
Ejemplo n.º 4
0
    def on_select(self, evt):
        if self.Value == GateComboBox.MANAGE_GATES:
            dlg = GateManager(self.Parent)
            dlg.ShowModal()
            dlg.Destroy()
            self.Select(0)
        elif self.Value == GateComboBox.NEW_GATE:
            dlg = GateDialog(self.Parent)
            if dlg.ShowModal() == wx.ID_OK:
                self.Items = self.Items[:-1] + [dlg.Value] + self.Items[-1:]
                self.SetStringSelection(dlg.Value)
                p.gates[dlg.Value] = sqltools.Gate()

                p._filters[dlg.Value] = sqltools.Filter()

            else:
                self.Select(0)
            dlg.Destroy()
        self.notify(self.get_gatename_or_none())
Ejemplo n.º 5
0
##            self.reset()
##            logging.error('Can not load old filter')
##        self.Refresh()

if __name__ == "__main__":
    import sys
    import logging
    logging.basicConfig(level=logging.DEBUG)
    app = wx.PySimpleApp()

    # Load a properties file if passed in args
    if len(sys.argv) > 1:
        propsFile = sys.argv[1]
        p.LoadFile(propsFile)
    else:
        p.LoadFile('/Users/afraser/cpa_example/example.properties')

    p._filters['test'] = sql.Filter(
        ('per_image', 'gene'), 'REGEXP', 'MAP*', 'OR',
        sql.Column('per_image', 'gene'), 'IS', 'NULL')
    p._filters_ordered += ['test']

    p._filters['test2'] = sql.Filter(('per_image', 'well'), '!=', 'A01')
    p._filters_ordered += ['test2']

    cff = ColumnFilterDialog(None, tables=[p.image_table])
    if cff.ShowModal() == wx.OK:
        print cff.get_filter()

    cff.Destroy()
    app.MainLoop()
Ejemplo n.º 6
0
 def update_info(self):
     gate = self.get_gatename_or_none()
     if gate:
         p._filters[gate] = sqltools.Filter(p.gates[gate].as_filter())
         print gate, p._filters[gate]