Exemplo n.º 1
0
 def __init__(self, parent=None, config_obj=None):
     super(Olfactometers, self).__init__()  # not sure if this will work.
     if not config_obj:
         self.config_fn, self.config_obj = get_olfa_config()
     elif isinstance(config_obj, dict):
         self.config_obj = config_obj
     elif isinstance(config_obj, str):
         self.config_fn, self.config_obj = get_olfa_config(config_obj)
     else:
         raise OlfaException(
             "Passed config_obj is of unknown type. Can be a dict, path to JSON or None."
         )
     menubar = self.menuBar()
     self._buildmenubar(menubar)
     self.olfa_specs = self.config_obj['Olfactometers']
     self.olfas = self._config_olfas(self.olfa_specs)
     try:
         self.dilutor_specs = self.config_obj[
             'Dilutors']  # configure *global* dilutors.
         self.dilutors = self._config_dilutors(self.dilutor_specs)
     except (TypeError,
             KeyError):  # no global Dilutors are specified, which is OK!
         self.dilutors = []
     self.setWindowTitle("Olfactometry")
     layout = QtGui.QVBoxLayout()
     for olfa in self.olfas:
         layout.addWidget(olfa)
     for dilutor in self.dilutors:
         layout.addWidget(dilutor)
     central_widget = QtGui.QWidget()
     self.setCentralWidget(central_widget)
     central_widget.setLayout(layout)
     self.statusBar()
     QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('CleanLooks'))
Exemplo n.º 2
0
def main():
    app = QtGui.QApplication(sys.argv)
    conf = get_olfa_config()
    olf_conf = conf['olfas'][0]
    w = TeensyOlfa(None, olf_conf)
    w.show()
    sys.exit(app.exec_())
Exemplo n.º 3
0
def main():
    app = QtGui.QApplication(sys.argv)
    conf = get_olfa_config()
    olf_conf = conf['olfas'][0]
    w = TeensyOlfa(None, olf_conf)
    w.show()
    sys.exit(app.exec_())
Exemplo n.º 4
0
 def _reload_config(self):
     try:
         _, config_obj = get_olfa_config(self.config_fn)
         self.olfa_specs = config_obj['Olfactometers']
     except ValueError as e:
         errorbox = QtGui.QErrorMessage(self)
         errorbox.showMessage('Error, JSON is not valid: {0}'.format(
             e.message))
         return
     logging.info('Reloading config from {0}'.format(self.config_fn))
     for olfa in self.olfas:
         olfa.close_serial()
         olfa.deleteLater()  # deletes all timers, etc.
     self.olfas = []
     _, config_obj = get_olfa_config(self.config_fn)
     self.olfa_specs = config_obj['Olfactometers']
     self.olfas = self._config_olfas(self.olfa_specs)
     for o in self.olfas:
         self.centralWidget().layout().addWidget(o)
     return