def main(): from pymodaq.dashboard import DashBoard from pymodaq.daq_utils.daq_utils import load_config, get_set_preset_path from pathlib import Path config = load_config() app = QtWidgets.QApplication(sys.argv) win = QtWidgets.QMainWindow() area = gutils.DockArea() win.setCentralWidget(area) win.resize(1000, 500) win.setWindowTitle('PyMoDAQ Dashboard') # win.setVisible(False) prog = DashBoard(area) file = Path(get_set_preset_path()).joinpath(f"{config['presets']['default_preset_for_logger']}.xml") if file.exists(): prog.set_preset_mode(file) prog.load_log_module() else: msgBox = QtWidgets.QMessageBox() msgBox.setText(f"The default file specified in the configuration file does not exists!\n" f"{file}\n" f"Impossible to load the Logger Module") msgBox.setStandardButtons(msgBox.Ok) ret = msgBox.exec() sys.exit(app.exec_())
def __init__(self, conf_path=None): super().__init__() self.config_path = utils.get_set_local_dir().joinpath('config.toml') config = utils.load_config(self.config_path) params = [{'title': 'Config path', 'name': 'config_path', 'type': 'str', 'value': str(self.config_path), 'readonly': True}] params.extend(self.dict_to_param(config)) self.settings = Parameter.create(title='settings', name='settings', type='group', children=params) self.settings_tree = ParameterTree() self.settings_tree.setParameters(self.settings, showTop=False)
import logging import datetime from PyQt5 import QtCore from contextlib import contextmanager from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy_utils import database_exists, create_database from .db_logger_models import Base, Data0D, Data1D, Data2D, LogInfo, Detector, Configuration from pymodaq.daq_utils import daq_utils as utils from pymodaq.daq_utils.gui_utils import dashboard_submodules_params from pyqtgraph.parametertree import Parameter, ParameterTree logger = utils.set_logger(utils.get_module_name(__file__)) config = utils.load_config() class DBLogHandler(logging.StreamHandler): def __init__(self, dblogger): super().__init__() self.dblogger = dblogger formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s') self.setFormatter(formatter) def emit(self, record): msg = self.format(record) self.dblogger.add_log(msg) class DbLogger: user = config['network']['logging']['user']['username']
@author: Weber """ from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QThread from PyQt5 import QtWidgets import socket import select import numpy as np import pymodaq.daq_utils.parameter.ioxml import pymodaq.daq_utils.parameter.utils from pymodaq.daq_utils.daq_utils import getLineInfo, ThreadCommand, load_config from pyqtgraph.parametertree import Parameter from collections import OrderedDict config = load_config() tcp_parameters = [ { 'title': 'Port:', 'name': 'port_id', 'type': 'int', 'value': config['network']['tcp-server']['port'], }, { 'title': 'IP:', 'name': 'socket_ip', 'type': 'str', 'value': config['network']['tcp-server']['ip'], }, {