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