From 003ab3b526089227e0e1b96fbe19ef68bf72b724 Mon Sep 17 00:00:00 2001 From: June Tate-Gans Date: Mon, 3 May 2021 18:11:28 -0500 Subject: [PATCH] observer: Coerce scalar values in keys to sets Unfortunately, strings are iterable in python, so without this a call with a single string, or a construct of "('foo')" would result in creating keys for each letter of the string 'foo'. "('foo',)" works, because , creates the tuple, not the parens... --- g13gui/g13gui/observer/observer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/g13gui/g13gui/observer/observer.py b/g13gui/g13gui/observer/observer.py index c8ca1f2..34386fa 100644 --- a/g13gui/g13gui/observer/observer.py +++ b/g13gui/g13gui/observer/observer.py @@ -11,6 +11,8 @@ class Observer(object): def _makeChangeTriggerKeys(self, changeType, keys): result = [] if keys != Subject.AllKeys: + if type(keys) != set: + keys = {keys} for key in keys: result.append((changeType, key)) else: