Filter out None values when not in JSON mode

I noticed this while testing the change that added the --json option, though it is not related to that change.

Sequence types get mushed into a string when not in JSON mode, and that was turning None object values into the string "None", which is not desirable. So, similar to how the text output script handles it, those now get emitted as an empty string instead. JSON mode is probably better to use for this type of data, anyway, but it was bugging me to have it report as "None".
This commit is contained in:
sparky8512 2022-03-02 15:02:29 -08:00
parent b11e6f4978
commit f25e58aa2b

View file

@ -154,9 +154,8 @@ def loop_body(opts, gstate):
key), val, 0, False)) key), val, 0, False))
def cb_add_sequence(key, val, category, _): def cb_add_sequence(key, val, category, _):
msgs.append( msgs.append(("starlink/dish_{0}/{1}/{2}".format(category, gstate.dish_id, key),
("starlink/dish_{0}/{1}/{2}".format(category, gstate.dish_id, ",".join("" if x is None else str(x) for x in val), 0, False))
key), ",".join(str(x) for x in val), 0, False))
rc = dish_common.get_data(opts, gstate, cb_add_item, cb_add_sequence)[0] rc = dish_common.get_data(opts, gstate, cb_add_item, cb_add_sequence)[0]