From d7fa0f15f4eb69415e8dbde32aaf04903bcdc75b Mon Sep 17 00:00:00 2001 From: snow flurry Date: Wed, 26 Jul 2023 14:07:10 -0700 Subject: [PATCH] import os-specific module after plugin init --- src/away_on_lock.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/away_on_lock.py b/src/away_on_lock.py index 3c4d6f6..ed3aa86 100755 --- a/src/away_on_lock.py +++ b/src/away_on_lock.py @@ -7,13 +7,6 @@ except ImportError: import_ok = False import sys -try: - import importlib - notify = importlib.import_module("notify_%s" % sys.platform) -except ImportError: - weechat.prnt('', 'No OS-specific module notify_%s found.' % sys.platform) - import_ok = False - SCRIPT_AUTHOR = 'snow flurry ' SCRIPT_NAME = 'away_on_lock' @@ -75,4 +68,12 @@ elif __name__ == "__main__": print('This script must be run from WeeChat.') sys.exit(1) - notify.notify_lock(lambda status: print(status)) \ No newline at end of file + # pyobjc gets upset if we reimport in the same exec runtime, so + # wait to import it until here! + try: + import importlib + notify = importlib.import_module("notify_%s" % sys.platform) + except ImportError: + print('No OS-specific module notify_%s found.' % sys.platform, file=sys.stderr) + + notify.notify_lock(lambda status: print(status))