diff --git a/bstrd/bscache.py b/bstrd/bscache.py index 745361a..ea1c6dc 100644 --- a/bstrd/bscache.py +++ b/bstrd/bscache.py @@ -73,7 +73,8 @@ class BSCache: new_chans = {} for name, kwargs in names.items(): if name not in FIXED_CHANNELS and name not in self.channels: - check_availability(name) + if self.uses_dispatcher: + check_availability(name) cfg = make_channel_config(name, *kwargs) new_chans[name] = cfg @@ -86,7 +87,8 @@ class BSCache: def get_var(self, name, modulo=None, offset=None): if name not in FIXED_CHANNELS and name not in self.channels: - check_availability(name) + if self.uses_dispatcher: + check_availability(name) cfg = make_channel_config(name, modulo, offset) print("add new channel", name) self.add_var(name, cfg) @@ -122,6 +124,10 @@ class BSCache: def flush(self): self.pt.queue.clear() + @property + def uses_dispatcher(self): + return bool(self.kwargs["host"]) + def check_availability(name):