The check for the existence of jq using shutil.which didn't really work since shutil.which does not ever throw so jq_exists have always been True, even if jq was missing on the system.
Fixed that and also:
replace status message saying that JQ is missing with a dialog that also allows opening the JQ website (having a link in a status field wasn't a great idea since it was not possible to click it).
remove unnecessary globals and just check if jq is available on every invocation. The caching of state is not necessary since this is never gonna be a performance issue. Also it would cache too hard, even after the user has changed the jq_binary in settings.
The check for the existence of
jq
usingshutil.which
didn't really work sinceshutil.which
does not ever throw sojq_exists
have always beenTrue
, even ifjq
was missing on the system.Fixed that and also:
jq
is available on every invocation. The caching of state is not necessary since this is never gonna be a performance issue. Also it would cache too hard, even after the user has changed thejq_binary
in settings.