Mercurial > libervia-backend
diff sat/plugins/plugin_xep_0048.py @ 3040:fee60f17ebac
jp: jp asyncio port:
/!\ this commit is huge. Jp is temporarily not working with `dbus` bridge /!\
This patch implements the port of jp to asyncio, so it is now correctly using the bridge
asynchronously, and it can be used with bridges like `pb`. This also simplify the code,
notably for things which were previously implemented with many callbacks (like pagination
with RSM).
During the process, some behaviours have been modified/fixed, in jp and backends, check
diff for details.
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 25 Sep 2019 08:56:41 +0200 |
parents | ab2696e34d29 |
children | 9d0df638c8b4 |
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0048.py Wed Sep 25 08:53:38 2019 +0200 +++ b/sat/plugins/plugin_xep_0048.py Wed Sep 25 08:56:41 2019 +0200 @@ -241,12 +241,12 @@ except KeyError: pass - for url in urls_data: + for url, url_data in urls_data.items(): url_elt = storage_elt.addElement("url") url_elt[XEP_0048.URL_KEY] = url for attr in XEP_0048.URL_ATTRS: try: - url_elt[attr] = url[attr] + url_elt[attr] = url_data[attr] except KeyError: pass @@ -440,7 +440,10 @@ return ret data = bookmarks_ori[type_] for bookmark in data: - ret[_storage_location][bookmark.full()] = data[bookmark].copy() + if type_ == XEP_0048.MUC_TYPE: + ret[_storage_location][bookmark.full()] = data[bookmark].copy() + else: + ret[_storage_location][bookmark] = data[bookmark].copy() return ret for _storage_location in ("local", "private", "pubsub"):