comparison sat_frontends/jp/cmd_pubsub.py @ 2910:b2f323237fce

jp, plugin merge-requests: used u'' as default for item id in pubsub arguments + fixed some required arguments: u"" is now used as defaut item id instead of node, as it needs to be serialised anyway. This is temporary solution, as empty string can be used for item id (not forbidden by XEP-0060), but for now this is not handled correctly in jp/SàT (see https://bugs.goffi.org/bugs/view/289). Correct solution will probably need to use a special key in extra to mark empty string in id. Added/removed some required values for node or item when it made sense.
author Goffi <goffi@goffi.org>
date Sun, 14 Apr 2019 08:21:51 +0200
parents dfba1301e61c
children ab2696e34d29
comparison
equal deleted inserted replaced
2909:90146552cde5 2910:b2f323237fce
894 base.CommandBase.__init__( 894 base.CommandBase.__init__(
895 self, 895 self,
896 host, 896 host,
897 "delete", 897 "delete",
898 use_pubsub=True, 898 use_pubsub=True,
899 pubsub_flags={C.NODE, C.SINGLE_ITEM}, 899 pubsub_flags={C.NODE, C.ITEM, C.SINGLE_ITEM},
900 help=_(u"delete an item"), 900 help=_(u"delete an item"),
901 ) 901 )
902 self.need_loop = True 902 self.need_loop = True
903 903
904 def add_parser_options(self): 904 def add_parser_options(self):
978 self.disp(u'lxml module must be installed to use edit, please install it ' 978 self.disp(u'lxml module must be installed to use edit, please install it '
979 u'with "pip install lxml"', 979 u'with "pip install lxml"',
980 error=True, 980 error=True,
981 ) 981 )
982 self.host.quit(1) 982 self.host.quit(1)
983 items = [item] if item is not None else [] 983 items = [item] if item else []
984 item_raw = self.host.bridge.psItemsGet( 984 item_raw = self.host.bridge.psItemsGet(
985 service, node, 1, items, "", {}, self.profile 985 service, node, 1, items, "", {}, self.profile
986 )[0][0] 986 )[0][0]
987 parser = etree.XMLParser(remove_blank_text=True) 987 parser = etree.XMLParser(remove_blank_text=True)
988 item_elt = etree.fromstring(item_raw, parser) 988 item_elt = etree.fromstring(item_raw, parser)