deltachat-rpc-client 2.26.0__py3-none-any.whl → 2.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -130,6 +130,10 @@ class Account:
130
130
  """Add a new transport using a QR code."""
131
131
  yield self._rpc.add_transport_from_qr.future(self.id, qr)
132
132
 
133
+ def delete_transport(self, addr: str):
134
+ """Delete a transport."""
135
+ self._rpc.delete_transport(self.id, addr)
136
+
133
137
  @futuremethod
134
138
  def list_transports(self):
135
139
  """Return the list of all email accounts that are used as a transport in the current profile."""
@@ -417,12 +421,21 @@ class Account:
417
421
  """Wait for messages noticed event and return it."""
418
422
  return self.wait_for_event(EventType.MSGS_NOTICED)
419
423
 
424
+ def wait_for_msg(self, event_type) -> Message:
425
+ """Wait for an event about the message.
426
+
427
+ Consumes all events before the matching event.
428
+ Returns a message corresponding to the msg_id field of the event.
429
+ """
430
+ event = self.wait_for_event(event_type)
431
+ return self.get_message_by_id(event.msg_id)
432
+
420
433
  def wait_for_incoming_msg(self):
421
434
  """Wait for incoming message and return it.
422
435
 
423
436
  Consumes all events before the next incoming message event.
424
437
  """
425
- return self.get_message_by_id(self.wait_for_incoming_msg_event().msg_id)
438
+ return self.wait_for_msg(EventType.INCOMING_MSG)
426
439
 
427
440
  def wait_for_securejoin_inviter_success(self):
428
441
  """Wait until SecureJoin process finishes successfully on the inviter side."""
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from typing import TYPE_CHECKING
6
6
 
7
- from ._utils import AttrDict
7
+ from ._utils import AttrDict, futuremethod
8
8
  from .account import Account
9
9
 
10
10
  if TYPE_CHECKING:
@@ -39,6 +39,15 @@ class DeltaChat:
39
39
  """Stop the I/O of all accounts."""
40
40
  self.rpc.stop_io_for_all_accounts()
41
41
 
42
+ @futuremethod
43
+ def background_fetch(self, timeout_in_seconds: int) -> None:
44
+ """Run background fetch for all accounts."""
45
+ yield self.rpc.background_fetch.future(timeout_in_seconds)
46
+
47
+ def stop_background_fetch(self) -> None:
48
+ """Stop ongoing background fetch."""
49
+ self.rpc.stop_background_fetch()
50
+
42
51
  def maybe_network(self) -> None:
43
52
  """Indicate that the network conditions might have changed."""
44
53
  self.rpc.maybe_network()
@@ -40,12 +40,17 @@ class ACFactory:
40
40
  username = "ci-" + "".join(random.choice("2345789acdefghjkmnpqrstuvwxyz") for i in range(6))
41
41
  return f"{username}@{domain}", f"{username}${username}"
42
42
 
43
+ def get_account_qr(self):
44
+ """Return "dcaccount:" QR code for testing chatmail relay."""
45
+ domain = os.getenv("CHATMAIL_DOMAIN")
46
+ return f"dcaccount:{domain}"
47
+
43
48
  @futuremethod
44
49
  def new_configured_account(self):
45
50
  """Create a new configured account."""
46
51
  account = self.get_unconfigured_account()
47
- domain = os.getenv("CHATMAIL_DOMAIN")
48
- yield account.add_transport_from_qr.future(f"dcaccount:{domain}")
52
+ qr = self.get_account_qr()
53
+ yield account.add_transport_from_qr.future(qr)
49
54
 
50
55
  assert account.is_configured()
51
56
  return account
@@ -77,6 +82,7 @@ class ACFactory:
77
82
  ac_clone = self.get_unconfigured_account()
78
83
  for transport in transports:
79
84
  ac_clone.add_or_update_transport(transport)
85
+ ac_clone.bring_online()
80
86
  return ac_clone
81
87
 
82
88
  def get_accepted_chat(self, ac1: Account, ac2: Account) -> Chat:
@@ -135,9 +141,15 @@ def rpc(tmp_path) -> AsyncGenerator:
135
141
 
136
142
 
137
143
  @pytest.fixture
138
- def acfactory(rpc) -> AsyncGenerator:
144
+ def dc(rpc) -> DeltaChat:
145
+ """Return account manager."""
146
+ return DeltaChat(rpc)
147
+
148
+
149
+ @pytest.fixture
150
+ def acfactory(dc) -> AsyncGenerator:
139
151
  """Return account factory fixture."""
140
- return ACFactory(DeltaChat(rpc))
152
+ return ACFactory(dc)
141
153
 
142
154
 
143
155
  @pytest.fixture
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deltachat-rpc-client
3
- Version: 2.26.0
3
+ Version: 2.28.0
4
4
  Summary: Python client for Delta Chat core JSON-RPC interface
5
5
  Classifier: Development Status :: 5 - Production/Stable
6
6
  Classifier: Intended Audience :: Developers
@@ -1,19 +1,19 @@
1
1
  deltachat_rpc_client/__init__.py,sha256=zroJARiq9HBi7Ln03KlICOUJHSjm3CGIFkHfXILEdOQ,567
2
2
  deltachat_rpc_client/_utils.py,sha256=v0iWVSa6S-s078GgnnhflCRhA9pfWI-CfK8mjZ4zjXc,6393
3
- deltachat_rpc_client/account.py,sha256=R8lthfdyZtQrje5WLd42lnReOAgxKk7dEIZyZfYKe40,19103
3
+ deltachat_rpc_client/account.py,sha256=CNUwmWNdWlaEXuDHy0Xld7EFnNaBrMk_BORkVeNIql4,19549
4
4
  deltachat_rpc_client/chat.py,sha256=x5CEIORL1-731QC4KcXd_0JKtRpe7nT9oAygmKkooHI,11707
5
5
  deltachat_rpc_client/client.py,sha256=6eP_lH5z7G5Sy7vDRNfKNY3dkUqJqKZDVyCGjynsuW8,7181
6
6
  deltachat_rpc_client/const.py,sha256=p6hSXNYLBpPLpMz0UkT8QnMrqmA_cZ3sw-o8S3ryVM4,6675
7
7
  deltachat_rpc_client/contact.py,sha256=NLh1XNnD_LQf27pNcVgqNN97Gbv190VSCuEyjjce4L4,1893
8
- deltachat_rpc_client/deltachat.py,sha256=4KpiHbpfXM_LmbG-OvtDACK9W09UH0tsJyFunfH9TR4,1544
8
+ deltachat_rpc_client/deltachat.py,sha256=-6SqQAS8_mMWLBP3U1HvFsNIpcAPYBlmqF8R6Bt90YQ,1894
9
9
  deltachat_rpc_client/events.py,sha256=Y45LoGlQy0i1U-LhoqF9njqJWA8v4b-XHfXZ4VOr1TQ,10205
10
10
  deltachat_rpc_client/message.py,sha256=PWSm5e-woWgYXPcnwygQO0fNSRV-NvKvuerqWkJxiik,4996
11
11
  deltachat_rpc_client/py.typed,sha256=nGQ9Itq-bkXBn5Ri1JIR0oYnDNv7LDRfkowxBSSqVTM,60
12
- deltachat_rpc_client/pytestplugin.py,sha256=LINsTZ-ICKhUzvjmrJe7kZsJAAj5wGA5btbH1vkDGWY,5622
12
+ deltachat_rpc_client/pytestplugin.py,sha256=aoueJt7pXJUQsSBRRyVHLU-geSC9LUOJ7qlvJbWTB4A,5899
13
13
  deltachat_rpc_client/rpc.py,sha256=AUY8UJP7NlRSE5ewJs9jGxJdK8etKqsCEFWiIqnX5T8,6981
14
- deltachat_rpc_client-2.26.0.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
15
- deltachat_rpc_client-2.26.0.dist-info/METADATA,sha256=NYktAx-rwDr8BsXaKgpzkBHpoXfiO0SeOo51mVneAPA,2225
16
- deltachat_rpc_client-2.26.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- deltachat_rpc_client-2.26.0.dist-info/entry_points.txt,sha256=VHpX6EnKBaNj89qJWctApThnMa8suyaamfZEnQacXgc,81
18
- deltachat_rpc_client-2.26.0.dist-info/top_level.txt,sha256=ePNMkY10htGrLiLydH1ITvYFM3LcTEa51HyPqJ40hDk,21
19
- deltachat_rpc_client-2.26.0.dist-info/RECORD,,
14
+ deltachat_rpc_client-2.28.0.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
15
+ deltachat_rpc_client-2.28.0.dist-info/METADATA,sha256=ClJk90k_SAgeIo42XgVpCsctIIQHyC4QVnZUuuSY7HI,2225
16
+ deltachat_rpc_client-2.28.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ deltachat_rpc_client-2.28.0.dist-info/entry_points.txt,sha256=VHpX6EnKBaNj89qJWctApThnMa8suyaamfZEnQacXgc,81
18
+ deltachat_rpc_client-2.28.0.dist-info/top_level.txt,sha256=ePNMkY10htGrLiLydH1ITvYFM3LcTEa51HyPqJ40hDk,21
19
+ deltachat_rpc_client-2.28.0.dist-info/RECORD,,