From 0ada98b5ecc349d325afa327087e985c858d2b38 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 30 Nov 2017 10:26:13 +0530 Subject: [PATCH] Add a button to easily clear server logs in Preferences->Sharing over the net->Show server logs. Fixes #1730046 [Add a button to clear Content server log](https://bugs.launchpad.net/calibre/+bug/1730046) --- src/calibre/gui2/preferences/server.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/calibre/gui2/preferences/server.py b/src/calibre/gui2/preferences/server.py index 64208dc436..92815cbe89 100644 --- a/src/calibre/gui2/preferences/server.py +++ b/src/calibre/gui2/preferences/server.py @@ -1059,6 +1059,21 @@ class ConfigWidget(ConfigWidgetBase): bx = QDialogButtonBox(QDialogButtonBox.Ok) layout.addWidget(bx) bx.accepted.connect(d.accept) + b = bx.addButton(_('&Clear logs'), bx.ActionRole) + + def clear_logs(): + if getattr(self.server, 'is_running', False): + return error_dialog(d, _('Server running'), _( + 'Cannot clear logs while the server is running. First stop the server.'), show=True) + for x in (log_error_file, log_access_file): + try: + os.remove(x) + except EnvironmentError as err: + if err.errno != errno.ENOENT: + raise + el.setPlainText(''), al.setPlainText('') + + b.clicked.connect(clear_logs) d.show() def save_changes(self):