Scrollbar working correctly, updated logging
This commit is contained in:
@@ -168,20 +168,27 @@ def setup_logger(verbosity:int=3):
|
|||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
# create file handler which logs even debug messages
|
# create file handler which logs even debug messages
|
||||||
try:
|
try:
|
||||||
fh = GroupWriteRotatingFileHandler(LOGDIR.joinpath('submissions.log'), mode='a', maxBytes=100000, backupCount=3, encoding=None, delay=False)
|
Path(LOGDIR).mkdir(parents=True)
|
||||||
except FileNotFoundError as e:
|
# fh = GroupWriteRotatingFileHandler(LOGDIR.joinpath('submissions.log'), mode='a', maxBytes=100000, backupCount=3, encoding=None, delay=False)
|
||||||
Path(LOGDIR).mkdir(parents=True, exist_ok=True)
|
# except FileNotFoundError as e:
|
||||||
|
except FileExistsError:
|
||||||
|
pass
|
||||||
fh = GroupWriteRotatingFileHandler(LOGDIR.joinpath('submissions.log'), mode='a', maxBytes=100000, backupCount=3, encoding=None, delay=False)
|
fh = GroupWriteRotatingFileHandler(LOGDIR.joinpath('submissions.log'), mode='a', maxBytes=100000, backupCount=3, encoding=None, delay=False)
|
||||||
fh.setLevel(logging.DEBUG)
|
fh.setLevel(logging.DEBUG)
|
||||||
fh.name = "File"
|
fh.name = "File"
|
||||||
# create console handler with a higher log level
|
# create console handler with a higher log level
|
||||||
ch = logging.StreamHandler(stream=sys.stdout)
|
ch = logging.StreamHandler(stream=sys.stdout)
|
||||||
|
# create custom logger with STERR -> log
|
||||||
|
# ch = StreamToLogger(logger=logger, log_level=verbosity)
|
||||||
match verbosity:
|
match verbosity:
|
||||||
case 3:
|
case 3:
|
||||||
|
# verb = logging.DEBUG
|
||||||
ch.setLevel(logging.DEBUG)
|
ch.setLevel(logging.DEBUG)
|
||||||
case 2:
|
case 2:
|
||||||
|
# verb = logging.INFO
|
||||||
ch.setLevel(logging.INFO)
|
ch.setLevel(logging.INFO)
|
||||||
case 1:
|
case 1:
|
||||||
|
# verb = logging.WARNING
|
||||||
ch.setLevel(logging.WARNING)
|
ch.setLevel(logging.WARNING)
|
||||||
ch.name = "Stream"
|
ch.name = "Stream"
|
||||||
# create formatter and add it to the handlers
|
# create formatter and add it to the handlers
|
||||||
@@ -190,14 +197,28 @@ def setup_logger(verbosity:int=3):
|
|||||||
ch.setFormatter(formatter)
|
ch.setFormatter(formatter)
|
||||||
# ch.setLevel(logging.ERROR)
|
# ch.setLevel(logging.ERROR)
|
||||||
# add the handlers to the logger
|
# add the handlers to the logger
|
||||||
|
|
||||||
logger.addHandler(fh)
|
logger.addHandler(fh)
|
||||||
logger.addHandler(ch)
|
logger.addHandler(ch)
|
||||||
# stderr_logger = logging.getLogger('STDERR')
|
def handle_exception(exc_type, exc_value, exc_traceback):
|
||||||
|
if issubclass(exc_type, KeyboardInterrupt):
|
||||||
|
sys.__excepthook__(exc_type, exc_value, exc_traceback)
|
||||||
|
return
|
||||||
|
|
||||||
|
logger.critical("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
|
||||||
|
sys.exit(f"Uncaught error: {exc_type}, {exc_traceback}, check logs.")
|
||||||
|
|
||||||
|
sys.excepthook = handle_exception
|
||||||
|
# stderr_logger = logging.getLogger('STDERR')
|
||||||
|
# sys.stderr = logger
|
||||||
return logger
|
return logger
|
||||||
# sl = StreamToLogger(stderr_logger, logging.ERROR)
|
# sl = StreamToLogger(stderr_logger, logging.ERROR)
|
||||||
# sys.stderr = sl
|
# sys.stderr = sl
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# def set_logger_verbosity(verbosity):
|
# def set_logger_verbosity(verbosity):
|
||||||
# """Does what it says.
|
# """Does what it says.
|
||||||
# """
|
# """
|
||||||
|
|||||||
@@ -4,11 +4,10 @@ from PyQt6.QtWidgets import (
|
|||||||
QTabWidget, QWidget, QVBoxLayout,
|
QTabWidget, QWidget, QVBoxLayout,
|
||||||
QPushButton, QMenuBar, QFileDialog,
|
QPushButton, QMenuBar, QFileDialog,
|
||||||
QLineEdit, QMessageBox, QComboBox, QDateEdit, QHBoxLayout,
|
QLineEdit, QMessageBox, QComboBox, QDateEdit, QHBoxLayout,
|
||||||
QSpinBox, QScrollArea
|
QSpinBox, QScrollArea, QScrollBar, QSizePolicy
|
||||||
)
|
)
|
||||||
from PyQt6.QtGui import QAction, QIcon
|
from PyQt6.QtGui import QAction, QIcon
|
||||||
from PyQt6.QtCore import QDateTime, QDate, QSignalBlocker
|
from PyQt6.QtCore import pyqtSlot, QDateTime, QDate, QSignalBlocker, Qt
|
||||||
from PyQt6.QtCore import pyqtSlot
|
|
||||||
from PyQt6.QtWebEngineWidgets import QWebEngineView
|
from PyQt6.QtWebEngineWidgets import QWebEngineView
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
@@ -198,25 +197,27 @@ class App(QMainWindow):
|
|||||||
submit_btn = QPushButton("Submit")
|
submit_btn = QPushButton("Submit")
|
||||||
self.table_widget.formlayout.addWidget(submit_btn)
|
self.table_widget.formlayout.addWidget(submit_btn)
|
||||||
submit_btn.clicked.connect(self.submit_new_sample)
|
submit_btn.clicked.connect(self.submit_new_sample)
|
||||||
|
# self.table_widget.interior.setSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.MinimumExpanding)
|
||||||
|
print(self.table_widget.formwidget.size())
|
||||||
|
|
||||||
|
|
||||||
def renderPage(self):
|
# def renderPage(self):
|
||||||
"""
|
# """
|
||||||
Test function for plotly chart rendering
|
# Test function for plotly chart rendering
|
||||||
"""
|
# """
|
||||||
df = pd.read_excel("C:\\Users\\lwark\\Desktop\\test_df.xlsx", engine="openpyxl")
|
# df = pd.read_excel("C:\\Users\\lwark\\Desktop\\test_df.xlsx", engine="openpyxl")
|
||||||
fig = px.bar(df, x="submitted_date", y="kraken_percent", color="genus", title="Long-Form Input")
|
# fig = px.bar(df, x="submitted_date", y="kraken_percent", color="genus", title="Long-Form Input")
|
||||||
fig.update_layout(
|
# fig.update_layout(
|
||||||
xaxis_title="Submitted Date (* - Date parsed from fastq file creation date)",
|
# xaxis_title="Submitted Date (* - Date parsed from fastq file creation date)",
|
||||||
yaxis_title="Kraken Percent",
|
# yaxis_title="Kraken Percent",
|
||||||
showlegend=True,
|
# showlegend=True,
|
||||||
barmode='stack'
|
# barmode='stack'
|
||||||
)
|
# )
|
||||||
html = '<html><body>'
|
# html = '<html><body>'
|
||||||
html += plotly.offline.plot(fig, output_type='div', include_plotlyjs='cdn', auto_open=True, image = 'png', image_filename='plot_image')
|
# html += plotly.offline.plot(fig, output_type='div', include_plotlyjs='cdn', auto_open=True, image = 'png', image_filename='plot_image')
|
||||||
html += '</body></html>'
|
# html += '</body></html>'
|
||||||
self.table_widget.webengineview.setHtml(html)
|
# self.table_widget.webengineview.setHtml(html)
|
||||||
self.table_widget.webengineview.update()
|
# self.table_widget.webengineview.update()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -429,10 +430,13 @@ class AddSubForm(QWidget):
|
|||||||
self.formwidget.setLayout(self.formlayout)
|
self.formwidget.setLayout(self.formlayout)
|
||||||
self.formwidget.setFixedWidth(300)
|
self.formwidget.setFixedWidth(300)
|
||||||
|
|
||||||
self.interior = QScrollArea()
|
self.interior = QScrollArea(self.tab1)
|
||||||
|
# self.interior.verticalScrollBar()
|
||||||
|
# self.interior.setVerticalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
|
||||||
self.interior.setWidgetResizable(True)
|
self.interior.setWidgetResizable(True)
|
||||||
|
|
||||||
self.interior.setFixedWidth(325)
|
self.interior.setFixedWidth(325)
|
||||||
self.interior.setParent(self.tab1)
|
# self.interior.setParent(self.tab1)
|
||||||
self.interior.setWidget(self.formwidget)
|
self.interior.setWidget(self.formwidget)
|
||||||
|
|
||||||
self.sheetwidget = QWidget(self)
|
self.sheetwidget = QWidget(self)
|
||||||
@@ -445,8 +449,8 @@ class AddSubForm(QWidget):
|
|||||||
self.tab1.setLayout(self.tab1.layout)
|
self.tab1.setLayout(self.tab1.layout)
|
||||||
# self.tab1.layout.addLayout(self.formlayout)
|
# self.tab1.layout.addLayout(self.formlayout)
|
||||||
|
|
||||||
|
self.tab1.layout.addWidget(self.interior)
|
||||||
# self.tab1.layout.addWidget(self.formwidget)
|
# self.tab1.layout.addWidget(self.formwidget)
|
||||||
self.tab1.layout.addWidget(self.formwidget)
|
|
||||||
self.tab1.layout.addWidget(self.sheetwidget)
|
self.tab1.layout.addWidget(self.sheetwidget)
|
||||||
# self.tab1.layout.addLayout(self.sheetlayout)
|
# self.tab1.layout.addLayout(self.sheetlayout)
|
||||||
self.datepicker = ControlsDatePicker()
|
self.datepicker = ControlsDatePicker()
|
||||||
|
|||||||
Reference in New Issue
Block a user