From ff392f96c1a51a158bd41690d16583b33f183fa0 Mon Sep 17 00:00:00 2001 From: "dries.k" Date: Sun, 21 Aug 2022 17:42:30 +0200 Subject: [PATCH] fix opening log file on macos and linux --- gotify_tray/gui/widgets/SettingsDialog.py | 5 ++--- gotify_tray/utils.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gotify_tray/gui/widgets/SettingsDialog.py b/gotify_tray/gui/widgets/SettingsDialog.py index 0c98358..b4024c5 100644 --- a/gotify_tray/gui/widgets/SettingsDialog.py +++ b/gotify_tray/gui/widgets/SettingsDialog.py @@ -1,13 +1,12 @@ import logging import platform import os -import webbrowser from gotify_tray.database import Settings from gotify_tray.gotify import GotifyMessageModel from gotify_tray.gui.models import MessagesModelItem from . import MessageWidget -from gotify_tray.utils import verify_server +from gotify_tray.utils import verify_server, open_file from gotify_tray.tasks import ExportSettingsTask, ImportSettingsTask from PyQt6 import QtCore, QtGui, QtWidgets @@ -157,7 +156,7 @@ class SettingsDialog(QtWidgets.QDialog, Ui_Dialog): # Logging self.combo_logging.currentTextChanged.connect(self.settings_changed_callback) self.pb_open_log.clicked.connect( - lambda: webbrowser.open(logger.root.handlers[0].baseFilename) + lambda: open_file(logger.root.handlers[0].baseFilename) ) # Fonts diff --git a/gotify_tray/utils.py b/gotify_tray/utils.py index dbcbb30..f1f581a 100644 --- a/gotify_tray/utils.py +++ b/gotify_tray/utils.py @@ -1,5 +1,7 @@ import os +import platform import re +import subprocess from pathlib import Path @@ -46,3 +48,12 @@ def get_abs_path(s) -> str: h = Path(__file__).parent.parent p = Path(s) return os.path.join(h, p).replace("\\", "/") + + +def open_file(filename: str): + if platform.system() == "Linux": + subprocess.call(["xdg-open", filename]) + elif platform.system() == "Windows": + os.startfile(filename) + elif platform.system() == "Darwin": + subprocess.call(["open", filename])