From e88006fc11c29354d486e31dbed38ab87e441779 Mon Sep 17 00:00:00 2001 From: jm289765 <112527928+jm289765@users.noreply.github.com> Date: Mon, 18 Dec 2023 15:52:03 +0000 Subject: [PATCH] version 1.4.1 changed subprocess.run() to os.system() in highlight_sender, and added operating system checks --- h2o/highlight_sender.py | 16 ++++++++++------ ...p.zip => highlights-to-obsidian-1.4.1.zip} | Bin 35213 -> 35238 bytes 2 files changed, 10 insertions(+), 6 deletions(-) rename zip/{h2o-1.4.1-wip.zip => highlights-to-obsidian-1.4.1.zip} (68%) diff --git a/h2o/highlight_sender.py b/h2o/highlight_sender.py index a59a2f5..9bdcb78 100644 --- a/h2o/highlight_sender.py +++ b/h2o/highlight_sender.py @@ -1,5 +1,6 @@ import os import subprocess +import sys import time import webbrowser from typing import Dict, List, Callable, Any, Tuple, Iterable, Union @@ -25,12 +26,15 @@ def send_item_to_obsidian(obsidian_data: Dict[str, str]) -> None: try: if prefs['use_xdg_open']: # this is to avoid a bug on linux, where the uri is opened in web browser instead of Obsidian - # on windows, this only gives a good error message if shell=True. i need to know what it - # does on Linux and Mac. - subprocess.run(['xdg-open', uri], check=True, shell=True) - - # can't use os.system, since it doesn't give an error message when you try to xdg-open on windows - # os.system(f'xdg-open \"{uri}\"') + # https://docs.python.org/3/library/sys.html#sys.platform + if sys.platform.startswith('win32'): + raise NotImplementedError("Can't use xdg-open on Windows, see settings") + elif sys.platform.startswith('darwin'): + raise NotImplementedError("Can't use xdg-open on Mac, see settings") + else: + # probably a linux or unix os + os.system(f'xdg-open \"{uri}\"') + # using subprocess.run() doesn't seem to work else: # it might actually be better to do away with webbrowser.open() and only use os.system(). that might fix # the problem of needing to limit the max file size. would need to add support for each operating system. diff --git a/zip/h2o-1.4.1-wip.zip b/zip/highlights-to-obsidian-1.4.1.zip similarity index 68% rename from zip/h2o-1.4.1-wip.zip rename to zip/highlights-to-obsidian-1.4.1.zip index bf29454fb0f4c69e6112c7ffbcb95eb20125da0e..79e240ca2e91f733d4490a2a46c5b8d56cc2ee58 100644 GIT binary patch delta 10008 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 delta 10011 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