From d81093760edb5669d104d46cd68cb5f970c0777d Mon Sep 17 00:00:00 2001 From: A_D Date: Sun, 18 Oct 2020 08:51:34 +0200 Subject: [PATCH] Added hooks into killswitches in plugins --- plugins/eddn.py | 11 ++++++++--- plugins/edsm.py | 5 +++++ plugins/inara.py | 6 +++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/plugins/eddn.py b/plugins/eddn.py index b19227cf..06875fdb 100644 --- a/plugins/eddn.py +++ b/plugins/eddn.py @@ -10,12 +10,13 @@ from collections import OrderedDict from os import SEEK_SET from os.path import join from platform import system -from typing import TYPE_CHECKING, Any, AnyStr, Dict, Iterator, List, Mapping, MutableMapping, Optional, Tuple +from typing import TYPE_CHECKING, Any, AnyStr, Dict, Iterator, List, Mapping, MutableMapping, Optional from typing import OrderedDict as OrderedDictT -from typing import Sequence, TextIO +from typing import Sequence, TextIO, Tuple import requests +import killswitch import myNotebook as nb # noqa: N813 from companion import CAPIData, category_map from config import applongname, appversion, config @@ -25,7 +26,7 @@ from prefs import prefsVersion from ttkHyperlinkLabel import HyperlinkLabel if sys.platform != 'win32': - from fcntl import lockf, LOCK_EX, LOCK_NB + from fcntl import LOCK_EX, LOCK_NB, lockf if TYPE_CHECKING: @@ -126,6 +127,10 @@ class EDDN: :param cmdr: the CMDR to use as the uploader ID :param msg: the payload to send """ + if killswitch.is_disabled('plugins.eddn_send'): + logger.warning("eddn.send has been disabled via killswitch. Returning") + return + uploader_id = cmdr to_send: OrderedDictT[str, str] = OrderedDict([ diff --git a/plugins/edsm.py b/plugins/edsm.py index 566f910b..1fb6704e 100644 --- a/plugins/edsm.py +++ b/plugins/edsm.py @@ -19,6 +19,7 @@ from typing import TYPE_CHECKING, Any, List, Mapping, MutableMapping, Optional, import requests +import killswitch import myNotebook as nb # noqa: N813 import plug from config import applongname, appversion, config @@ -508,6 +509,10 @@ def worker() -> None: logger.debug('Empty queue message, setting closing = True') closing = True # Try to send any unsent events before we close + if killswitch.is_disabled("plugins.eddn.worker"): + logger.warning('EDSM worker has been disabled via kill switch. Not uploading data.') + continue + retrying = 0 while retrying < 3: try: diff --git a/plugins/inara.py b/plugins/inara.py index 0db096c0..8a5cfa11 100644 --- a/plugins/inara.py +++ b/plugins/inara.py @@ -1,6 +1,5 @@ """Inara Sync.""" -from companion import CAPIData import dataclasses import json import sys @@ -17,9 +16,11 @@ from typing import Sequence, Union, cast import requests +import killswitch import myNotebook as nb # noqa: N813 import plug import timeout_session +from companion import CAPIData from config import applongname, appversion, config from EDMCLogging import get_main_logger from ttkHyperlinkLabel import HyperlinkLabel @@ -1202,6 +1203,9 @@ def new_worker(): logger.debug('Starting...') while True: events = get_events() + if killswitch.is_disabled("plugins.inara.worker"): + logger.warning("Inara worker disabled via killswitch") + return for creds, event_list in events.items(): if not event_list: