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


Commits:
6424a64a by Philipp Hörist at 2019-08-02T10:34:03Z
Preferences: Show debug option on all platforms

- - - - -
13078dfd by Philipp Hörist at 2019-08-02T11:10:56Z
Delete debug logs older than 3 days

- - - - -


3 changed files:

- gajim/application.py
- gajim/common/app.py
- gajim/gtk/preferences.py


Changes:

=====================================
gajim/application.py
=====================================
@@ -33,6 +33,7 @@
 # You should have received a copy of the GNU General Public License
 # along with Gajim. If not, see <http://www.gnu.org/licenses/>.
 
+import time
 import sys
 from datetime import datetime
 from pathlib import Path
@@ -357,8 +358,9 @@ class GajimApplication(Gtk.Application):
 
         configpaths.init()
 
-        if app.get_win_debug_mode():
+        if app.get_debug_mode():
             # Redirect has to happen before logging init
+            self._cleanup_debug_logs()
             self._redirect_output()
             logging_helpers.init()
             logging_helpers.set_verbose()
@@ -393,11 +395,21 @@ class GajimApplication(Gtk.Application):
     @staticmethod
     def _redirect_output():
         debug_folder = Path(configpaths.get('DEBUG'))
-        date = datetime.today().strftime('%Y-%m-%d')
+        date = datetime.today().strftime('%d%m%Y-%H%M%S')
         filename = '%s-debug.log' % date
         fd = open(debug_folder / filename, 'a')
         sys.stderr = sys.stdout = fd
 
+    @staticmethod
+    def _cleanup_debug_logs():
+        debug_folder = Path(configpaths.get('DEBUG'))
+        debug_files = list(debug_folder.glob('*-debug.log*'))
+        now = time.time()
+        for file in debug_files:
+            # Delete everything older than 3 days
+            if file.stat().st_ctime < now - 259200:
+                file.unlink()
+
     def add_actions(self):
         ''' Build Application Actions '''
         from gajim import app_actions


=====================================
gajim/common/app.py
=====================================
@@ -680,7 +680,7 @@ def load_css_config():
     from gajim.gtk.css_config import CSSConfig
     css_config = CSSConfig()
 
-def set_win_debug_mode(enable: bool) -> None:
+def set_debug_mode(enable: bool) -> None:
     debug_folder = Path(configpaths.get('DEBUG'))
     debug_enabled = debug_folder / 'debug-enabled'
     if enable:
@@ -689,9 +689,7 @@ def set_win_debug_mode(enable: bool) -> None:
         if debug_enabled.exists():
             debug_enabled.unlink()
 
-def get_win_debug_mode() -> bool:
-    if sys.platform != 'win32':
-        return False
+def get_debug_mode() -> bool:
     debug_folder = Path(configpaths.get('DEBUG'))
     debug_enabled = debug_folder / 'debug-enabled'
     return debug_enabled.exists()


=====================================
gajim/gtk/preferences.py
=====================================
@@ -13,7 +13,6 @@
 # along with Gajim. If not, see <http://www.gnu.org/licenses/>.
 
 import os
-import sys
 
 from gi.repository import Gtk
 from gi.repository import Gdk
@@ -410,10 +409,8 @@ class Preferences(Gtk.ApplicationWindow):
         st = app.config.get('log_contact_status_changes')
         self._ui.log_show_changes_checkbutton.set_active(st)
 
-        # Enable debug logging
-        if sys.platform == 'win32':
-            self._ui.enable_logging.set_active(app.get_win_debug_mode())
-            self._ui.enable_logging.show()
+        self._ui.enable_logging.set_active(app.get_debug_mode())
+        self._ui.enable_logging.show()
 
         self._ui.connect_signals(self)
         self.connect('key-press-event', self._on_key_press)
@@ -1000,7 +997,7 @@ class Preferences(Gtk.ApplicationWindow):
 
     # Enable debug logging
     def on_enable_logging_toggled(self, widget):
-        app.set_win_debug_mode(widget.get_active())
+        app.set_debug_mode(widget.get_active())
 
     # Advanced Config Editor (ACE)
     def on_open_advanced_editor_button_clicked(self, _widget):



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/compare/298adcf072d69893949e51d32fc6bc16d41337be...13078dfd1235ea929e1ea80cd5224f34969bdd74

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/compare/298adcf072d69893949e51d32fc6bc16d41337be...13078dfd1235ea929e1ea80cd5224f34969bdd74
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to