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.
This commit is contained in:
parent
5e2426c065
commit
d85f1b364f
5 changed files with 9 additions and 9 deletions
|
|
@ -194,8 +194,8 @@ class MergeRequests(object):
|
|||
extra=None, profile_key=C.PROF_KEY_NONE):
|
||||
client, service, node, schema, item_id, extra = self._s.prepareBridgeSet(
|
||||
service, node, schema, item_id, extra, profile_key)
|
||||
d = self.set(client, service, node, repository, method, values, schema, item_id,
|
||||
extra, deserialise=True)
|
||||
d = self.set(client, service, node, repository, method, values, schema,
|
||||
item_id or None, extra, deserialise=True)
|
||||
d.addCallback(lambda ret: ret or u'')
|
||||
return d
|
||||
|
||||
|
|
|
|||
|
|
@ -367,7 +367,8 @@ class Jp(object):
|
|||
default = defaults.pop(u'item', _(u'last item'))
|
||||
if default is not None:
|
||||
item_help += _(u" (DEFAULT: {default})".format(default=default))
|
||||
pubsub_group.add_argument("-i", "--item", type=unicode_decoder, help=item_help)
|
||||
pubsub_group.add_argument("-i", "--item", type=unicode_decoder, default=u'',
|
||||
help=item_help)
|
||||
pubsub_group.add_argument("-L", "--last-item", action='store_true', help=_(u'retrieve last item'))
|
||||
elif flags.multi_items:
|
||||
# mutiple items, this activate several features: max-items, RSM, MAM
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ class Set(base.CommandBase, BlogPublishCommon):
|
|||
self.pubsub_item = self.args.item
|
||||
mb_data = {}
|
||||
self.setMbDataFromArgs(mb_data)
|
||||
if self.pubsub_item is not None:
|
||||
if self.pubsub_item:
|
||||
mb_data["id"] = self.pubsub_item
|
||||
content = codecs.getreader("utf-8")(sys.stdin).read()
|
||||
self.setMbDataContent(content, mb_data)
|
||||
|
|
@ -541,7 +541,7 @@ class Edit(base.CommandBase, BlogPublishCommon, common.BaseEdit):
|
|||
def publish(self, content, mb_data):
|
||||
self.setMbDataContent(content, mb_data)
|
||||
|
||||
if self.pubsub_item is not None:
|
||||
if self.pubsub_item:
|
||||
mb_data["id"] = self.pubsub_item
|
||||
|
||||
mb_data = data_format.serialise(mb_data)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ class Get(base.CommandBase):
|
|||
"get",
|
||||
use_output=C.OUTPUT_DICT,
|
||||
use_pubsub=True,
|
||||
pubsub_flags={C.NODE, C.ITEM, C.SINGLE_ITEM},
|
||||
pubsub_flags={C.SINGLE_ITEM},
|
||||
use_verbose=True,
|
||||
help=_(u"get event data"),
|
||||
)
|
||||
|
|
@ -125,7 +125,6 @@ class Create(EventBase, base.CommandBase):
|
|||
host,
|
||||
"create",
|
||||
use_pubsub=True,
|
||||
pubsub_flags={C.NODE},
|
||||
help=_("create or replace event"),
|
||||
)
|
||||
EventBase.__init__(self)
|
||||
|
|
|
|||
|
|
@ -896,7 +896,7 @@ class Delete(base.CommandBase):
|
|||
host,
|
||||
"delete",
|
||||
use_pubsub=True,
|
||||
pubsub_flags={C.NODE, C.SINGLE_ITEM},
|
||||
pubsub_flags={C.NODE, C.ITEM, C.SINGLE_ITEM},
|
||||
help=_(u"delete an item"),
|
||||
)
|
||||
self.need_loop = True
|
||||
|
|
@ -980,7 +980,7 @@ class Edit(base.CommandBase, common.BaseEdit):
|
|||
error=True,
|
||||
)
|
||||
self.host.quit(1)
|
||||
items = [item] if item is not None else []
|
||||
items = [item] if item else []
|
||||
item_raw = self.host.bridge.psItemsGet(
|
||||
service, node, 1, items, "", {}, self.profile
|
||||
)[0][0]
|
||||
|
|
|
|||
Loading…
Reference in a new issue