component AP gateway: handle attachments
This commit is contained in:
parent
072f0cc723
commit
c3f97ec712
1 changed files with 168 additions and 97 deletions
|
|
@ -97,7 +97,7 @@ class XEP_0277(object):
|
|||
"namespace": NS_ATOM,
|
||||
"type": "blog",
|
||||
"to_sync": True,
|
||||
"parser": self.item2mbdata,
|
||||
"parser": self.item_2_mb_data,
|
||||
"match_cb": self._cacheNodeMatchCb,
|
||||
}
|
||||
)
|
||||
|
|
@ -249,7 +249,7 @@ class XEP_0277(object):
|
|||
for item in itemsEvent.items:
|
||||
if item.name == C.PS_ITEM:
|
||||
# FIXME: service and node should be used here
|
||||
self.item2mbdata(client, item, None, None).addCallbacks(
|
||||
self.item_2_mb_data(client, item, None, None).addCallbacks(
|
||||
manageItem, lambda failure: None, (C.PS_PUBLISH,)
|
||||
)
|
||||
elif item.name == C.PS_RETRACT:
|
||||
|
|
@ -260,12 +260,12 @@ class XEP_0277(object):
|
|||
## data/item transformation ##
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def item2mbdata(
|
||||
def item_2_mb_data(
|
||||
self,
|
||||
client: SatXMPPEntity,
|
||||
item_elt: domish.Element,
|
||||
service: Optional[jid.JID],
|
||||
# FIXME: node is Optional until all calls to item2mbdata set properly service
|
||||
# FIXME: node is Optional until all calls to item_2_mb_data set properly service
|
||||
# and node. Once done, the Optional must be removed here
|
||||
node: Optional[str]
|
||||
) -> dict:
|
||||
|
|
@ -615,7 +615,7 @@ class XEP_0277(object):
|
|||
|
||||
defer.returnValue(microblog_data)
|
||||
|
||||
async def data2entry(self, client, mb_data, item_id, service, node):
|
||||
async def mb_data_2_entry_elt(self, client, mb_data, item_id, service, node):
|
||||
"""Convert a data dict to en entry usable to create an item
|
||||
|
||||
@param mb_data: data dict as given by bridge method.
|
||||
|
|
@ -1036,7 +1036,7 @@ class XEP_0277(object):
|
|||
await self._manageComments(client, data, service, node, item_id, access=None)
|
||||
except error.StanzaError:
|
||||
log.warning("Can't create comments node for item {}".format(item_id))
|
||||
item = await self.data2entry(client, data, item_id, service, node)
|
||||
item = await self.mb_data_2_entry_elt(client, data, item_id, service, node)
|
||||
|
||||
if not await self.host.trigger.asyncPoint(
|
||||
"XEP-0277_send", client, service, node, item, data
|
||||
|
|
@ -1165,9 +1165,9 @@ class XEP_0277(object):
|
|||
item_id = data.get("id", "")
|
||||
|
||||
# we have to serialise then deserialise to be sure that all triggers are called
|
||||
item_elt = await self.data2entry(client, data, item_id, service, node)
|
||||
item_elt = await self.mb_data_2_entry_elt(client, data, item_id, service, node)
|
||||
item_elt.uri = pubsub.NS_PUBSUB
|
||||
return await self.item2mbdata(client, item_elt, service, node)
|
||||
return await self.item_2_mb_data(client, item_elt, service, node)
|
||||
|
||||
|
||||
## retract ##
|
||||
|
|
@ -1243,7 +1243,7 @@ class XEP_0277(object):
|
|||
extra=extra,
|
||||
)
|
||||
mb_data_list, metadata = await self._p.transItemsDataD(
|
||||
items_data, partial(self.item2mbdata, client, service=service, node=node))
|
||||
items_data, partial(self.item_2_mb_data, client, service=service, node=node))
|
||||
encrypted = metadata.pop("encrypted", None)
|
||||
if encrypted is not None:
|
||||
for mb_data in mb_data_list:
|
||||
|
|
@ -1461,7 +1461,7 @@ class XEP_0277(object):
|
|||
d = self._p.transItemsDataD(
|
||||
items_data,
|
||||
# FIXME: service and node should be used here
|
||||
partial(self.item2mbdata, client),
|
||||
partial(self.item_2_mb_data, client),
|
||||
serialise=True
|
||||
)
|
||||
d.addCallback(lambda serialised: ("", serialised))
|
||||
|
|
@ -1663,7 +1663,7 @@ class XEP_0277(object):
|
|||
lambda items_data: self._p.transItemsDataD(
|
||||
items_data,
|
||||
partial(
|
||||
self.item2mbdata, client, service=service, node=node
|
||||
self.item_2_mb_data, client, service=service, node=node
|
||||
),
|
||||
serialise=True
|
||||
)
|
||||
|
|
@ -1704,7 +1704,7 @@ class XEP_0277(object):
|
|||
d.addCallback(
|
||||
lambda items_data: self._p.transItemsDataD(
|
||||
items_data,
|
||||
partial(self.item2mbdata, client, service=service, node=node),
|
||||
partial(self.item_2_mb_data, client, service=service, node=node),
|
||||
)
|
||||
)
|
||||
d.addCallback(getComments)
|
||||
|
|
|
|||
Loading…
Reference in a new issue