slidge 0.2.0a4__tar.gz → 0.2.0a6__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {slidge-0.2.0a4 → slidge-0.2.0a6}/PKG-INFO +1 -1
- {slidge-0.2.0a4 → slidge-0.2.0a6}/pyproject.toml +1 -1
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/__version__.py +1 -1
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/contact/contact.py +7 -3
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/group/room.py +1 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/test.py +12 -3
- {slidge-0.2.0a4 → slidge-0.2.0a6}/LICENSE +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/README.md +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/__main__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/adhoc.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/admin.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/base.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/categories.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/chat_command.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/register.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/command/user.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/contact/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/contact/roster.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/config.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/base.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/caps.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/delivery_receipt.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/disco.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/mam.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/muc_admin.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/ping.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/presence.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/registration.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/search.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/session_dispatcher.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/gateway/vcard_temp.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/attachment.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/avatar.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/base.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/db.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/disco.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/lock.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/message.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/message_maker.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/presence.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/mixins/recipient.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/pubsub.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/core/session.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/env.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/old_user_store.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/script.py.mako +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/09f27f098baa_add_missing_attributes_in_room.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/2461390c0af2_store_contacts_caps_verstring_in_db.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/29f5280c61aa_store_subject_setter_in_room.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/2b1f45ab7379_store_room_subject_setter_by_nickname.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/5bd48bfdffa2_lift_room_legacy_id_constraint.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/82a4af84b679_add_muc_history_filled.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/8b993243a536_add_vcard_content_to_contact_table.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/aa9d82a7f6ef_db_creation.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/b33993e87db3_move_everything_to_persistent_db.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/b64b1a793483_add_source_and_legacy_id_for_archived_.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/e91195719c2c_store_users_avatars_persistently.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/avatar.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/meta.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/models.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/store.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/group/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/group/archive.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/group/bookmarks.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/group/participant.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/main.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/migration.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/py.typed +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/link_preview/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/link_preview/link_preview.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/link_preview/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/roster.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0077/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0077/register.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0077/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0100/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0100/gateway.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0100/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0153/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0153/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0153/vcard_avatar.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0264/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0264/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0264/thumbnail.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0292/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0292/vcard4.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0313/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0313/mam.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0313/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0317/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0317/hats.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0317/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0356_old/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0356_old/privilege.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0356_old/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0424/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0424/retraction.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0424/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0490/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0490/mds.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/slixfix/xep_0490/stanza.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/__init__.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/archive_msg.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/conf.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/db.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/types.py +0 -0
- {slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/util/util.py +0 -0
@@ -196,15 +196,19 @@ class LegacyContact(
|
|
196
196
|
def __ensure_pk(self):
|
197
197
|
if self.contact_pk is not None:
|
198
198
|
return
|
199
|
+
# This happens for legacy modules that don't follow the Roster.fill /
|
200
|
+
# populate contact attributes in Contact.update_info() method.
|
201
|
+
# This results in (even) less optimised SQL writes and read, but
|
202
|
+
# we allow it because it fits some legacy network libs better.
|
199
203
|
with self.xmpp.store.session() as orm:
|
200
204
|
orm.commit()
|
201
205
|
stored = self.xmpp.store.contacts.get_by_legacy_id(
|
202
206
|
self.user_pk, str(self.legacy_id)
|
203
207
|
)
|
204
208
|
if stored is None:
|
205
|
-
self.
|
206
|
-
|
207
|
-
|
209
|
+
self.contact_pk = self.xmpp.store.contacts.update(self, commit=True)
|
210
|
+
else:
|
211
|
+
self.contact_pk = stored.id
|
208
212
|
assert self.contact_pk is not None
|
209
213
|
|
210
214
|
def __get_subscription_string(self):
|
@@ -758,6 +758,7 @@ class LegacyMUC(
|
|
758
758
|
await self.session.contacts.ready
|
759
759
|
|
760
760
|
if self.pk is not None:
|
761
|
+
c._LegacyContact__ensure_pk() # type: ignore
|
761
762
|
assert c.contact_pk is not None
|
762
763
|
with self.__store.session():
|
763
764
|
stored = self.__participants_store.get_by_contact(self.pk, c.contact_pk)
|
@@ -218,7 +218,10 @@ class SlidgeTest(SlixTestPlus):
|
|
218
218
|
engine = self.db_engine = create_engine("sqlite+pysqlite:///:memory:")
|
219
219
|
Base.metadata.create_all(engine)
|
220
220
|
BaseGateway.store = SlidgeStore(engine)
|
221
|
-
|
221
|
+
try:
|
222
|
+
self.xmpp = BaseGateway.get_self_or_unique_subclass()()
|
223
|
+
except Exception:
|
224
|
+
raise
|
222
225
|
self.xmpp.TEST_MODE = True
|
223
226
|
PepNick.contact_store = self.xmpp.store.contacts
|
224
227
|
PepAvatar.store = self.xmpp.store
|
@@ -266,7 +269,7 @@ class SlidgeTest(SlixTestPlus):
|
|
266
269
|
slidge.db.store._session = None
|
267
270
|
Base.metadata.drop_all(self.xmpp.store._engine)
|
268
271
|
|
269
|
-
def setup_logged_session(self):
|
272
|
+
def setup_logged_session(self, n_contacts=0):
|
270
273
|
user = self.xmpp.store.users.new(
|
271
274
|
JID("romeo@montague.lit/gajim"), {"username": "romeo", "city": ""}
|
272
275
|
)
|
@@ -284,12 +287,18 @@ class SlidgeTest(SlixTestPlus):
|
|
284
287
|
assert "logging in" in stanza["status"].lower(), stanza
|
285
288
|
stanza = self.next_sent()
|
286
289
|
assert "syncing contacts" in stanza["status"].lower(), stanza
|
290
|
+
if BaseGateway.get_self_or_unique_subclass().GROUPS:
|
291
|
+
stanza = self.next_sent()
|
292
|
+
assert "syncing groups" in stanza["status"].lower(), stanza
|
293
|
+
for _ in range(n_contacts):
|
294
|
+
probe = self.next_sent()
|
295
|
+
assert probe.get_type() == "probe"
|
287
296
|
stanza = self.next_sent()
|
288
297
|
assert "yup" in stanza["status"].lower(), stanza
|
289
|
-
|
290
298
|
self.romeo: BaseSession = BaseSession.get_self_or_unique_subclass().from_jid(
|
291
299
|
JID("romeo@montague.lit")
|
292
300
|
)
|
301
|
+
|
293
302
|
self.juliet: LegacyContact = self.run_coro(
|
294
303
|
self.romeo.contacts.by_legacy_id("juliet")
|
295
304
|
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/82a4af84b679_add_muc_history_filled.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{slidge-0.2.0a4 → slidge-0.2.0a6}/slidge/db/alembic/versions/c4a8ec35a0e8_per_room_user_nick.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|