slidge 0.2.0a4__py3-none-any.whl → 0.2.0a5__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
slidge/__version__.py CHANGED
@@ -2,4 +2,4 @@ from slidge.util.util import get_version # noqa: F401
2
2
 
3
3
  # this is modified before publish, but if someone cloned from the repo,
4
4
  # it can help
5
- __version__ = "0.2.0alpha4"
5
+ __version__ = "0.2.0alpha5"
slidge/contact/contact.py CHANGED
@@ -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.log.error("Cannot find our primary key!", stack_info=True)
206
- raise RuntimeError("Cannot find our primary key!")
207
- self.contact_pk = stored.id
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):
slidge/util/test.py CHANGED
@@ -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
- self.xmpp = BaseGateway.get_self_or_unique_subclass()()
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
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: slidge
3
- Version: 0.2.0a4
3
+ Version: 0.2.0a5
4
4
  Summary: XMPP bridging framework
5
5
  Home-page: https://sr.ht/~nicoco/slidge/
6
6
  License: AGPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  slidge/__init__.py,sha256=S0tUjqpZlzsr8G4Y_1Xt-KCYB07qaknTB0OwHU8k29U,1587
2
2
  slidge/__main__.py,sha256=Y12eh1TD_C5MB50KgEAuMffGnRFCvKYFKHD4UYSmHA0,72
3
- slidge/__version__.py,sha256=DiSDY0IeSP34Y0bfesUNWzvITu9c0Hjquli6h3JVwMk,170
3
+ slidge/__version__.py,sha256=0E8uqHIU428r94WD7UOde8zsSsHDzHHOqpRwtuMQIQA,170
4
4
  slidge/command/__init__.py,sha256=UYf1mjCYbZ5G7PIgaFTWSQRAzEJkQ6dTH8Fu_e_XnO0,613
5
5
  slidge/command/adhoc.py,sha256=5xLLoWyUJqCJB7kAwD2VKYTl_7MObCsgdz-qg_WkWGs,9417
6
6
  slidge/command/admin.py,sha256=x_kJ0TJhzf6d3OBIOXFjudZFO8bRYUG919td7OjMCug,6008
@@ -10,7 +10,7 @@ slidge/command/chat_command.py,sha256=kMnxrzmD7LhWgyO1w9Rgz1eA7PhfAJ2Rf34YWjoKrw
10
10
  slidge/command/register.py,sha256=fzPcGUoJtainnDOiC13gWV-uYLuJcsmdKGJ-jXT1qIo,6697
11
11
  slidge/command/user.py,sha256=nJnoU4t1r9oPkFFHSHHwSY8WOQNLQn9mMcwZp-yZaKA,11422
12
12
  slidge/contact/__init__.py,sha256=WMMaHk7UW7YT9EH2LtPdkU0bHQaOp4ikBhbBQskmoc8,191
13
- slidge/contact/contact.py,sha256=E7QEivJQ6GSVqi0BOe_7CohYDqCXHabGiPDe37WWKLI,21916
13
+ slidge/contact/contact.py,sha256=yzemaELpe256B43gUXYc9CLjFhwSjr7-PwkY0uxVQfc,22169
14
14
  slidge/contact/roster.py,sha256=2UPuf2XkCdt9mdjhbATxxIH5dyIiJaxA0en8t1BgJuc,9989
15
15
  slidge/core/__init__.py,sha256=RG7Jj5JCJERjhqJ31lOLYV-7bH_oblClQD1KF9LsTXo,68
16
16
  slidge/core/config.py,sha256=leNcN_TI0Ka1hhzOHx7cBW3fNj5xZwsiv9l8AfRY_vU,7630
@@ -108,11 +108,11 @@ slidge/util/__init__.py,sha256=BELovoTMPcPPGz3D48esBr8A4BRRHXTvavfgnArBgEc,301
108
108
  slidge/util/archive_msg.py,sha256=xXAR0BI5r3d6KKWjae9594izCOv6iI03z2WLuTecNw8,1724
109
109
  slidge/util/conf.py,sha256=1j2OnOsCBar1tOObErhXR5RC3Vl3faliOZ1U8J3My58,6613
110
110
  slidge/util/db.py,sha256=4LxZj8oBYgiSnyBUnF_ALjr0TblkfNQq_p28sCfkHMY,242
111
- slidge/util/test.py,sha256=nCldxi9dLPj-c4LqZChR9DbzXFU4WgT0o_Pe80JJIDc,13279
111
+ slidge/util/test.py,sha256=84GCSsWDaf7ukrMUaej2tuedY2Uxje5JljUt3x-V4mM,13645
112
112
  slidge/util/types.py,sha256=Gif-Z9NVd_eTei1uM3_KOsdok3B1yMQwdOkOzf9vheE,5224
113
113
  slidge/util/util.py,sha256=8JeE0QObNGQr_Tw4OFPwQSz_EB_zh_0t9IJmNNhW0ic,9114
114
- slidge-0.2.0a4.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
115
- slidge-0.2.0a4.dist-info/METADATA,sha256=idAPh52VqnQnIO6w47GLlGeDUegzVQU0sycTqDezW1I,4723
116
- slidge-0.2.0a4.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
117
- slidge-0.2.0a4.dist-info/entry_points.txt,sha256=SNl72KSocF5plsu_67xyH6wVWfGTXQbzkQgXbLtzDrQ,47
118
- slidge-0.2.0a4.dist-info/RECORD,,
114
+ slidge-0.2.0a5.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
115
+ slidge-0.2.0a5.dist-info/METADATA,sha256=8LHCFkrLSnOJdH3h2dKiRxCCGcjJyQfxBYPiOzcD1D0,4723
116
+ slidge-0.2.0a5.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
117
+ slidge-0.2.0a5.dist-info/entry_points.txt,sha256=SNl72KSocF5plsu_67xyH6wVWfGTXQbzkQgXbLtzDrQ,47
118
+ slidge-0.2.0a5.dist-info/RECORD,,