mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-07-01 10:58:19 +02:00
added debug mode option
This commit is contained in:
@@ -20,8 +20,14 @@ def init_logger():
|
||||
log("Logging is enabled.", level=logging.INFO)
|
||||
|
||||
|
||||
def log(message, level=logging.ERROR):
|
||||
logging.getLogger(_LOGGER_NAME).log(level, message)
|
||||
def log(message, level=logging.ERROR, debug=False, fmt_message="{}"):
|
||||
""" The main logging function. """
|
||||
logger = logging.getLogger(_LOGGER_NAME)
|
||||
if debug:
|
||||
from traceback import format_exc
|
||||
logger.log(level, fmt_message.format(format_exc()))
|
||||
else:
|
||||
logger.log(level, message)
|
||||
|
||||
|
||||
def run_idle(func):
|
||||
|
||||
@@ -668,6 +668,16 @@ class Settings:
|
||||
def remove_unused_bouquets(self, value):
|
||||
self._settings["remove_unused_bouquets"] = value
|
||||
|
||||
# **************** Debug **************** #
|
||||
|
||||
@property
|
||||
def debug_mode(self):
|
||||
return self._settings.get("debug_mode", False)
|
||||
|
||||
@debug_mode.setter
|
||||
def debug_mode(self, value):
|
||||
self._settings["debug_mode"] = value
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
@@ -179,8 +179,8 @@ class DownloadDialog:
|
||||
done_callback=lambda: self.show_info_message(get_message("Done!"), Gtk.MessageType.INFO),
|
||||
use_http=self._use_http_switch.get_active())
|
||||
except Exception as e:
|
||||
from traceback import format_exc
|
||||
log("Downloading data error: {}".format(format_exc()))
|
||||
msg = "Downloading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
self.show_info_message(str(e), Gtk.MessageType.ERROR)
|
||||
if all((download, backup, data_path)):
|
||||
restore_data(backup_src, data_path)
|
||||
|
||||
@@ -77,6 +77,7 @@ class Application(Gtk.Application):
|
||||
# Adding command line options
|
||||
self.add_main_option("log", ord("l"), GLib.OptionFlags.NONE, GLib.OptionArg.NONE, "", None)
|
||||
self.add_main_option("record", ord("r"), GLib.OptionFlags.NONE, GLib.OptionArg.NONE, "", None)
|
||||
self.add_main_option("debug", ord("d"), GLib.OptionFlags.NONE, GLib.OptionArg.STRING, "", None)
|
||||
|
||||
handlers = {"on_close_app": self.on_close_app,
|
||||
"on_resize": self.on_resize,
|
||||
@@ -406,6 +407,18 @@ class Application(Gtk.Application):
|
||||
log("Starting record of current stream...")
|
||||
log("Not implemented yet!")
|
||||
|
||||
if "debug" in options:
|
||||
d_op = options.get("debug", "off")
|
||||
if d_op == "on":
|
||||
self._settings.debug_mode = True
|
||||
elif d_op == "off":
|
||||
self._settings.debug_mode = False
|
||||
else:
|
||||
log("No valid [on, off] arguments for -d found!")
|
||||
return 1
|
||||
log("Debug mode is {}.".format(d_op))
|
||||
self._settings.save()
|
||||
|
||||
self.activate()
|
||||
return 0
|
||||
|
||||
@@ -1111,14 +1124,21 @@ class Application(Gtk.Application):
|
||||
download_type=DownloadType.ALL,
|
||||
callback=lambda x: print(x, end=""))
|
||||
except Exception as e:
|
||||
from traceback import format_exc
|
||||
log("Downloading data error: {}".format(format_exc()))
|
||||
msg = "Downloading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
self.show_error_dialog(str(e))
|
||||
else:
|
||||
GLib.idle_add(self.open_data)
|
||||
|
||||
@run_task
|
||||
def on_upload_data(self, download_type):
|
||||
if not self.is_data_saved():
|
||||
gen = self.save_data(lambda: self.on_upload_data(download_type))
|
||||
GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW)
|
||||
else:
|
||||
self.upload_data(download_type)
|
||||
|
||||
@run_task
|
||||
def upload_data(self, download_type):
|
||||
try:
|
||||
profile = self._s_type
|
||||
opts = self._settings
|
||||
@@ -1137,8 +1157,8 @@ class Application(Gtk.Application):
|
||||
callback=lambda x: print(x, end=""),
|
||||
use_http=use_http)
|
||||
except Exception as e:
|
||||
from traceback import format_exc
|
||||
log("Uploading data error: {}".format(format_exc()))
|
||||
msg = "Uploading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
self.show_error_dialog(str(e))
|
||||
|
||||
def on_data_open(self, action=None, value=None):
|
||||
@@ -1195,9 +1215,9 @@ class Application(Gtk.Application):
|
||||
self.show_error_dialog(str(e))
|
||||
return
|
||||
except Exception as e:
|
||||
from traceback import format_exc
|
||||
log("Reading data error: {}".format(format_exc()))
|
||||
self.show_error_dialog(get_message("Reading data error!") + "\n" + str(e))
|
||||
msg = "Reading data error: {}"
|
||||
log(msg.format(e), debug=self._settings.debug_mode, fmt_message=msg)
|
||||
self.show_error_dialog("{}\n{}".format(get_message("Reading data error!"), e))
|
||||
return
|
||||
else:
|
||||
self.append_blacklist(black_list)
|
||||
|
||||
Reference in New Issue
Block a user