Philipp Hörist pushed to branch master at gajim / gajim

Commits:
b5c98864 by Philipp Hörist at 2017-03-04T00:19:04+01:00
Add commandline option to show warnings

- - - - -
840cb365 by Philipp Hörist at 2017-03-04T00:19:35+01:00
Use unicode path for plugins

non-unicode path is marked as deprecated

- - - - -


2 changed files:

- src/gajim.py
- src/plugins/gajimplugin.py


Changes:

=====================================
src/gajim.py
=====================================
--- a/src/gajim.py
+++ b/src/gajim.py
@@ -94,6 +94,9 @@ class GajimApplication(Gtk.Application):
         self.add_main_option('loglevel', ord('l'), GLib.OptionFlags.NONE,
                              GLib.OptionArg.STRING,
                              _('Configure logging system'), 'LEVEL')
+        self.add_main_option('warnings', ord('w'), GLib.OptionFlags.NONE,
+                             GLib.OptionArg.NONE,
+                             _('Show all warnings'))
 
         self.profile = ''
         self.config_path = None
@@ -286,6 +289,8 @@ class GajimApplication(Gtk.Application):
         if options.contains('loglevel'):
             loglevel = options.lookup_value('loglevel').get_string()
             logging_helpers.set_loglevels(loglevel)
+        if options.contains('warnings'):
+            self.show_warnings()
         return -1
 
     def do_command_line(self, command_line: Gio.ApplicationCommandLine) -> int:
@@ -294,6 +299,19 @@ class GajimApplication(Gtk.Application):
             self.activate()
         return 0
 
+    def show_warnings(self):
+        import traceback
+        import warnings
+
+        def warn_with_traceback(message, category, filename, lineno,
+                                file=None, line=None):
+            traceback.print_stack(file=sys.stderr)
+            sys.stderr.write(warnings.formatwarning(message, category,
+                                                    filename, lineno, line))
+
+        warnings.showwarning = warn_with_traceback
+        warnings.filterwarnings(action="always")
+
     def frozen_logging(self, path):
         import warnings
         if not os.path.exists(path):


=====================================
src/plugins/gajimplugin.py
=====================================
--- a/src/plugins/gajimplugin.py
+++ b/src/plugins/gajimplugin.py
@@ -202,8 +202,8 @@ class GajimPluginConfig():
     @log_calls('GajimPluginConfig')
     def __init__(self, plugin):
         self.plugin = plugin
-        self.FILE_PATH = os.path.join(gajim.PLUGINS_CONFIG_DIR,
-            self.plugin.short_name).encode(locale.getpreferredencoding())
+        self.FILE_PATH = os.path.join(
+            gajim.PLUGINS_CONFIG_DIR, self.plugin.short_name)
         self.data = {}
 
     @log_calls('GajimPluginConfig')



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/compare/1b975172d60e734d9c390ef75795ef8e73439cd5...840cb365e857bd36afe93042f664486d8390bbcd
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to