deltachat-rpc-client 2.25.0__py3-none-any.whl → 2.27.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.
@@ -399,9 +399,10 @@ class Account:
399
399
  next_msg_ids = self._rpc.get_next_msgs(self.id)
400
400
  return [Message(self, msg_id) for msg_id in next_msg_ids]
401
401
 
402
+ @futuremethod
402
403
  def wait_next_messages(self) -> list[Message]:
403
404
  """Wait for new messages and return a list of them."""
404
- next_msg_ids = self._rpc.wait_next_msgs(self.id)
405
+ next_msg_ids = yield self._rpc.wait_next_msgs.future(self.id)
405
406
  return [Message(self, msg_id) for msg_id in next_msg_ids]
406
407
 
407
408
  def wait_for_incoming_msg_event(self):
@@ -416,12 +417,21 @@ class Account:
416
417
  """Wait for messages noticed event and return it."""
417
418
  return self.wait_for_event(EventType.MSGS_NOTICED)
418
419
 
420
+ def wait_for_msg(self, event_type) -> Message:
421
+ """Wait for an event about the message.
422
+
423
+ Consumes all events before the matching event.
424
+ Returns a message corresponding to the msg_id field of the event.
425
+ """
426
+ event = self.wait_for_event(event_type)
427
+ return self.get_message_by_id(event.msg_id)
428
+
419
429
  def wait_for_incoming_msg(self):
420
430
  """Wait for incoming message and return it.
421
431
 
422
432
  Consumes all events before the next incoming message event.
423
433
  """
424
- return self.get_message_by_id(self.wait_for_incoming_msg_event().msg_id)
434
+ return self.wait_for_msg(EventType.INCOMING_MSG)
425
435
 
426
436
  def wait_for_securejoin_inviter_success(self):
427
437
  """Wait until SecureJoin process finishes successfully on the inviter side."""
@@ -91,19 +91,17 @@ class ChatId(IntEnum):
91
91
  LAST_SPECIAL = 9
92
92
 
93
93
 
94
- class ChatType(IntEnum):
94
+ class ChatType(str, Enum):
95
95
  """Chat type."""
96
96
 
97
- UNDEFINED = 0
98
-
99
- SINGLE = 100
97
+ SINGLE = "Single"
100
98
  """1:1 chat, i.e. a direct chat with a single contact"""
101
99
 
102
- GROUP = 120
100
+ GROUP = "Group"
103
101
 
104
- MAILINGLIST = 140
102
+ MAILINGLIST = "Mailinglist"
105
103
 
106
- OUT_BROADCAST = 160
104
+ OUT_BROADCAST = "OutBroadcast"
107
105
  """Outgoing broadcast channel, called "Channel" in the UI.
108
106
 
109
107
  The user can send into this channel,
@@ -115,7 +113,7 @@ class ChatType(IntEnum):
115
113
  which would make it hard to grep for it.
116
114
  """
117
115
 
118
- IN_BROADCAST = 165
116
+ IN_BROADCAST = "InBroadcast"
119
117
  """Incoming broadcast channel, called "Channel" in the UI.
120
118
 
121
119
  This channel is read-only,
@@ -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()
@@ -135,9 +135,15 @@ def rpc(tmp_path) -> AsyncGenerator:
135
135
 
136
136
 
137
137
  @pytest.fixture
138
- def acfactory(rpc) -> AsyncGenerator:
138
+ def dc(rpc) -> DeltaChat:
139
+ """Return account manager."""
140
+ return DeltaChat(rpc)
141
+
142
+
143
+ @pytest.fixture
144
+ def acfactory(dc) -> AsyncGenerator:
139
145
  """Return account factory fixture."""
140
- return ACFactory(DeltaChat(rpc))
146
+ return ACFactory(dc)
141
147
 
142
148
 
143
149
  @pytest.fixture
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deltachat-rpc-client
3
- Version: 2.25.0
3
+ Version: 2.27.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=kJnqWgWIn7EMFtf1aEwyKpAgkHU_8lc6Zd_aheTLOp0,19072
3
+ deltachat_rpc_client/account.py,sha256=itF7QYR9m26ImyuOVbUtCj7AMkHu6_PMyiKTto_Z4K0,19421
4
4
  deltachat_rpc_client/chat.py,sha256=x5CEIORL1-731QC4KcXd_0JKtRpe7nT9oAygmKkooHI,11707
5
5
  deltachat_rpc_client/client.py,sha256=6eP_lH5z7G5Sy7vDRNfKNY3dkUqJqKZDVyCGjynsuW8,7181
6
- deltachat_rpc_client/const.py,sha256=1SQ-TPm1w1lDGW8G_k4RwR6XA5xK6He_3hxhXBJCKmE,6652
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=gM5b9UL6d7ktRbu-1pyaRkg22m0qHT_wrP1ypHsgk2U,5713
13
13
  deltachat_rpc_client/rpc.py,sha256=AUY8UJP7NlRSE5ewJs9jGxJdK8etKqsCEFWiIqnX5T8,6981
14
- deltachat_rpc_client-2.25.0.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
15
- deltachat_rpc_client-2.25.0.dist-info/METADATA,sha256=eMsEpud10SpX-JlV7CRB9v1OO6iDC2UL2LUWve9wKQ8,2225
16
- deltachat_rpc_client-2.25.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- deltachat_rpc_client-2.25.0.dist-info/entry_points.txt,sha256=VHpX6EnKBaNj89qJWctApThnMa8suyaamfZEnQacXgc,81
18
- deltachat_rpc_client-2.25.0.dist-info/top_level.txt,sha256=ePNMkY10htGrLiLydH1ITvYFM3LcTEa51HyPqJ40hDk,21
19
- deltachat_rpc_client-2.25.0.dist-info/RECORD,,
14
+ deltachat_rpc_client-2.27.0.dist-info/licenses/LICENSE,sha256=Pz2eACSxkhsGfW9_iN60pgy-enjnbGTj8df8O3ebnQQ,16726
15
+ deltachat_rpc_client-2.27.0.dist-info/METADATA,sha256=rz3CihD8i9mg6tUEJbVs7DXD-nB_oKRSzndPI0qLZQY,2225
16
+ deltachat_rpc_client-2.27.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ deltachat_rpc_client-2.27.0.dist-info/entry_points.txt,sha256=VHpX6EnKBaNj89qJWctApThnMa8suyaamfZEnQacXgc,81
18
+ deltachat_rpc_client-2.27.0.dist-info/top_level.txt,sha256=ePNMkY10htGrLiLydH1ITvYFM3LcTEa51HyPqJ40hDk,21
19
+ deltachat_rpc_client-2.27.0.dist-info/RECORD,,