mirror of https://gitlab.com/pamhyr/pamhyr2
pamhyr: Start switch to logging for program logs.
parent
9b9ef8ee4b
commit
2f78432005
|
|
@ -2,12 +2,15 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
import logging
|
||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from tools import SQL
|
from tools import SQL
|
||||||
from Model.Except import NotImplementedMethodeError
|
from Model.Except import NotImplementedMethodeError
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
# Top level model class
|
# Top level model class
|
||||||
class SQLModel(SQL):
|
class SQLModel(SQL):
|
||||||
_sub_classes = []
|
_sub_classes = []
|
||||||
|
|
@ -22,11 +25,11 @@ class SQLModel(SQL):
|
||||||
self._cur = self._db.cursor()
|
self._cur = self._db.cursor()
|
||||||
|
|
||||||
if is_new:
|
if is_new:
|
||||||
print("CREATE")
|
logger.info("Create database")
|
||||||
self._create() # Create db
|
self._create() # Create db
|
||||||
# self._save() # Save
|
# self._save() # Save
|
||||||
else:
|
else:
|
||||||
print("UPDATE")
|
logger.info("Update database")
|
||||||
self._update() # Update db scheme if necessary
|
self._update() # Update db scheme if necessary
|
||||||
# self._load() # Load data
|
# self._load() # Load data
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
from config import Config
|
from config import Config
|
||||||
from View.ASubWindow import ASubWindow
|
from View.ASubWindow import ASubWindow
|
||||||
from View.ListedSubWindow import ListedSubWindow
|
from View.ListedSubWindow import ListedSubWindow
|
||||||
|
|
@ -27,6 +30,8 @@ from PyQt5.QtWidgets import (
|
||||||
|
|
||||||
from Solver.Solvers import solver_long_name
|
from Solver.Solvers import solver_long_name
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
class SolverTableModel(QAbstractTableModel):
|
class SolverTableModel(QAbstractTableModel):
|
||||||
def __init__(self, headers=[], rows=[]):
|
def __init__(self, headers=[], rows=[]):
|
||||||
super(QAbstractTableModel, self).__init__()
|
super(QAbstractTableModel, self).__init__()
|
||||||
|
|
@ -215,7 +220,7 @@ class ConfigureWindow(ASubWindow, ListedSubWindow):
|
||||||
# Debug
|
# Debug
|
||||||
def set_debug(self):
|
def set_debug(self):
|
||||||
self.conf.debug = not self.conf.debug
|
self.conf.debug = not self.conf.debug
|
||||||
print(f"[DEBUG] Debug mode set : {self.conf.debug}")
|
logger.info(f"Debug mode set : {self.conf.debug}")
|
||||||
self.parent.setup_debug_mode()
|
self.parent.setup_debug_mode()
|
||||||
|
|
||||||
# Solvers
|
# Solvers
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import logging
|
||||||
from queue import Queue
|
from queue import Queue
|
||||||
|
|
||||||
from PyQt5 import QtGui
|
from PyQt5 import QtGui
|
||||||
|
|
@ -39,6 +40,8 @@ from View.Debug.Window import ReplWindow
|
||||||
|
|
||||||
from Model.Study import Study
|
from Model.Study import Study
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
no_model_action = [
|
no_model_action = [
|
||||||
"action_menu_new", "action_menu_open", "action_menu_import_mage",
|
"action_menu_new", "action_menu_open", "action_menu_import_mage",
|
||||||
"action_menu_import_rubarbe", "action_toolBar_open",
|
"action_menu_import_rubarbe", "action_toolBar_open",
|
||||||
|
|
@ -206,6 +209,15 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
# Maximise window
|
# Maximise window
|
||||||
self.showMaximized()
|
self.showMaximized()
|
||||||
|
|
||||||
|
def set_debug_lvl(self, debug = True):
|
||||||
|
if debug:
|
||||||
|
logger.setLevel(logging.DEBUG)
|
||||||
|
logger.info("Set logging level to DEBUG")
|
||||||
|
else:
|
||||||
|
logger.setLevel(logging.INFO)
|
||||||
|
logger.info("Set logging level to INFO")
|
||||||
|
|
||||||
|
|
||||||
def setup_debug_mode(self, init = False):
|
def setup_debug_mode(self, init = False):
|
||||||
menu = self.findChild(QMenu, "menu_help")
|
menu = self.findChild(QMenu, "menu_help")
|
||||||
|
|
||||||
|
|
@ -216,11 +228,14 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
|
|
||||||
if self.conf.debug:
|
if self.conf.debug:
|
||||||
menu.addAction(self.debug_action)
|
menu.addAction(self.debug_action)
|
||||||
|
self.set_debug_lvl(debug = True)
|
||||||
else:
|
else:
|
||||||
if self.conf.debug:
|
if self.conf.debug:
|
||||||
menu.addAction(self.debug_action)
|
menu.addAction(self.debug_action)
|
||||||
|
self.set_debug_lvl(debug = True)
|
||||||
else:
|
else:
|
||||||
menu.removeAction(self.debug_action)
|
menu.removeAction(self.debug_action)
|
||||||
|
self.set_debug_lvl(debug = False)
|
||||||
|
|
||||||
#########
|
#########
|
||||||
# MODEL #
|
# MODEL #
|
||||||
|
|
@ -283,7 +298,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
else:
|
else:
|
||||||
self.model.filename = file_name + ".pamhyr"
|
self.model.filename = file_name + ".pamhyr"
|
||||||
|
|
||||||
print("[INFO] Save...")
|
logger.info("Save...")
|
||||||
self.model.save()
|
self.model.save()
|
||||||
|
|
||||||
def save_as_study(self):
|
def save_as_study(self):
|
||||||
|
|
@ -380,7 +395,7 @@ class ApplicationWindow(QMainWindow, ListedSubWindow, WindowToolKit):
|
||||||
if dialog.exec_():
|
if dialog.exec_():
|
||||||
file_name = dialog.selectedFiles()
|
file_name = dialog.selectedFiles()
|
||||||
self.set_model(Study.open(file_name[0]))
|
self.set_model(Study.open(file_name[0]))
|
||||||
print(f"[MainWindow] Open Study : {self.model.name}")
|
logger.info(f"Open Study - {self.model.name}")
|
||||||
|
|
||||||
def open_new_study(self):
|
def open_new_study(self):
|
||||||
"""Open dialog to set new study
|
"""Open dialog to set new study
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import pickle
|
import pickle
|
||||||
|
import logging
|
||||||
|
|
||||||
from tools import SQL
|
from tools import SQL
|
||||||
|
|
||||||
|
|
@ -13,13 +14,15 @@ from Solver.Solvers import solver_type_list
|
||||||
config_dir = "/.cache/pamhyr/"
|
config_dir = "/.cache/pamhyr/"
|
||||||
config_file = "config.sqlite3"
|
config_file = "config.sqlite3"
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
class Config(SQL):
|
class Config(SQL):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._version = '0.0.1'
|
self._version = '0.0.1'
|
||||||
self.filename = Config.filename()
|
self.filename = Config.filename()
|
||||||
self.set_default_value()
|
self.set_default_value()
|
||||||
|
|
||||||
print(self.filename)
|
logging.info(f"Configuration file : {self.filename}")
|
||||||
|
|
||||||
super(Config, self).__init__(filename = self.filename)
|
super(Config, self).__init__(filename = self.filename)
|
||||||
|
|
||||||
|
|
@ -61,10 +64,10 @@ class Config(SQL):
|
||||||
self.commit()
|
self.commit()
|
||||||
|
|
||||||
def _update(self):
|
def _update(self):
|
||||||
version = self.execute(f"SELECT value FROM info WHERE key='version'")
|
version = self.execute(f"SELECT value FROM info WHERE key='version'")[0]
|
||||||
|
|
||||||
if version != self._version:
|
if version != self._version:
|
||||||
print("update")
|
logger.info(f"Configuration file update from {version} to {self._version}...")
|
||||||
|
|
||||||
def _load_solver(self):
|
def _load_solver(self):
|
||||||
self._solvers = []
|
self._solvers = []
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
import sys, os
|
import sys, os
|
||||||
import locale
|
import locale
|
||||||
|
import logging
|
||||||
|
|
||||||
from PyQt5.QtCore import QTranslator
|
from PyQt5.QtCore import QTranslator
|
||||||
from PyQt5.QtWidgets import QApplication
|
from PyQt5.QtWidgets import QApplication
|
||||||
|
|
@ -15,6 +16,13 @@ from tools import (
|
||||||
from View.MainWindow import ApplicationWindow
|
from View.MainWindow import ApplicationWindow
|
||||||
from Model.Study import Study
|
from Model.Study import Study
|
||||||
|
|
||||||
|
logging.basicConfig(
|
||||||
|
level=logging.DEBUG,
|
||||||
|
format='[PAMHYR][%(levelname)s] %(message)s'
|
||||||
|
)
|
||||||
|
logger = logging.getLogger()
|
||||||
|
logger.setLevel(logging.INFO)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
conf = Config.load()
|
conf = Config.load()
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
|
@ -37,7 +45,7 @@ def main():
|
||||||
if lang_file != "":
|
if lang_file != "":
|
||||||
ok = translator.load(lang_file)
|
ok = translator.load(lang_file)
|
||||||
if not ok:
|
if not ok:
|
||||||
print("failed")
|
logger.error("Failed to load translate file")
|
||||||
|
|
||||||
app.installTranslator(translator)
|
app.installTranslator(translator)
|
||||||
|
|
||||||
|
|
|
||||||
17
src/tools.py
17
src/tools.py
|
|
@ -3,6 +3,7 @@
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import sqlite3
|
import sqlite3
|
||||||
|
import logging
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
@ -16,6 +17,12 @@ from functools import (
|
||||||
reduce, partial, wraps
|
reduce, partial, wraps
|
||||||
)
|
)
|
||||||
|
|
||||||
|
###########
|
||||||
|
# LOGGING #
|
||||||
|
###########
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
##########
|
##########
|
||||||
# TIMERS #
|
# TIMERS #
|
||||||
##########
|
##########
|
||||||
|
|
@ -242,7 +249,7 @@ class SQL(object):
|
||||||
|
|
||||||
@timer
|
@timer
|
||||||
def execute(self, cmd, fetch_one = True, commit = False):
|
def execute(self, cmd, fetch_one = True, commit = False):
|
||||||
# print(f"[SQL] {cmd}")
|
logger.debug(f"SQL - {cmd}")
|
||||||
res = self._cur.execute(cmd)
|
res = self._cur.execute(cmd)
|
||||||
|
|
||||||
if commit:
|
if commit:
|
||||||
|
|
@ -252,13 +259,13 @@ class SQL(object):
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def _create(self):
|
def _create(self):
|
||||||
print("TODO: Create")
|
logger.warning("TODO: Create")
|
||||||
|
|
||||||
def _update(self):
|
def _update(self):
|
||||||
print("TODO: Update")
|
logger.warning("TODO: Update")
|
||||||
|
|
||||||
def _save(self):
|
def _save(self):
|
||||||
print("TODO: Save")
|
logger.warning("TODO: Save")
|
||||||
|
|
||||||
def _load(self):
|
def _load(self):
|
||||||
print("TODO: Load")
|
logger.warning("TODO: LOAD")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue