Skip to content

Commit 43bb15d

Browse files
author
Sebastian Molenda
committed
Publish, Fire
1 parent e556b7f commit 43bb15d

File tree

3 files changed

+57
-33
lines changed

3 files changed

+57
-33
lines changed

pubnub/endpoints/pubsub/fire.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import Optional
12
from pubnub import utils
23
from pubnub.endpoints.endpoint import Endpoint
34
from pubnub.enums import HttpMethod, PNOperationType
@@ -11,33 +12,39 @@ class Fire(Endpoint):
1112
FIRE_GET_PATH = "/publish/%s/%s/0/%s/%s/%s"
1213
FIRE_POST_PATH = "/publish/%s/%s/0/%s/%s"
1314

14-
def __init__(self, pubnub):
15+
_channel: str
16+
_message: any
17+
_use_post: Optional[bool]
18+
_meta: Optional[any]
19+
20+
def __init__(self, pubnub, channel: Optional[str] = None, message: Optional[any] = None,
21+
use_post: Optional[bool] = None, meta: Optional[any] = None):
1522
Endpoint.__init__(self, pubnub)
16-
self._channel = None
17-
self._message = None
18-
self._use_post = None
19-
self._meta = None
23+
self._channel = channel
24+
self._message = message
25+
self._use_post = use_post
26+
self._meta = meta
2027

21-
def channel(self, channel):
28+
def channel(self, channel: str) -> 'Fire':
2229
self._channel = str(channel)
2330
return self
2431

25-
def message(self, message):
32+
def message(self, message) -> 'Fire':
2633
self._message = message
2734
return self
2835

29-
def use_post(self, use_post):
36+
def use_post(self, use_post) -> 'Fire':
3037
self._use_post = bool(use_post)
3138
return self
3239

33-
def is_compressable(self):
40+
def is_compressable(self) -> bool:
3441
return True
3542

36-
def use_compression(self, compress=True):
43+
def use_compression(self, compress=True) -> 'Fire':
3744
self._use_compression = bool(compress)
3845
return self
3946

40-
def meta(self, meta):
47+
def meta(self, meta) -> 'Fire':
4148
self._meta = meta
4249
return self
4350

pubnub/endpoints/pubsub/publish.py

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from typing import Optional
12
from pubnub import utils
23
from pubnub.endpoints.endpoint import Endpoint
34
from pubnub.errors import PNERR_MESSAGE_MISSING
@@ -12,45 +13,56 @@ class Publish(Endpoint, TimeTokenOverrideMixin):
1213
PUBLISH_GET_PATH = "/publish/%s/%s/0/%s/%s/%s"
1314
PUBLISH_POST_PATH = "/publish/%s/%s/0/%s/%s"
1415

15-
def __init__(self, pubnub):
16+
_channel: str
17+
_message: any
18+
_should_store: Optional[bool]
19+
_use_post: Optional[bool]
20+
_meta: Optional[any]
21+
_replicate: Optional[bool]
22+
_ptto: Optional[int]
23+
_ttl: Optional[int]
24+
25+
def __init__(self, pubnub, channel: Optional[str] = None, message: Optional[any] = None,
26+
should_store: Optional[bool] = None, use_post: Optional[bool] = None, meta: Optional[any] = None,
27+
replicate: Optional[bool] = None, ptto: Optional[int] = None, ttl: Optional[int] = None):
1628
super(Publish, self).__init__(pubnub)
17-
self._channel = None
18-
self._message = None
19-
self._should_store = None
20-
self._use_post = None
21-
self._meta = None
22-
self._replicate = None
23-
self._ptto = None
24-
self._ttl = None
25-
26-
def channel(self, channel):
29+
self._channel = channel
30+
self._message = message
31+
self._should_store = should_store
32+
self._use_post = use_post
33+
self._meta = meta
34+
self._replicate = replicate
35+
self._ptto = ptto
36+
self._ttl = ttl
37+
38+
def channel(self, channel: str) -> 'Publish':
2739
self._channel = str(channel)
2840
return self
2941

30-
def message(self, message):
42+
def message(self, message: any) -> 'Publish':
3143
self._message = message
3244
return self
3345

34-
def use_post(self, use_post):
46+
def use_post(self, use_post: bool) -> 'Publish':
3547
self._use_post = bool(use_post)
3648
return self
3749

38-
def use_compression(self, compress=True):
50+
def use_compression(self, compress: bool = True) -> 'Publish':
3951
self._use_compression = bool(compress)
4052
return self
4153

42-
def is_compressable(self):
54+
def is_compressable(self) -> bool:
4355
return True
4456

45-
def should_store(self, should_store):
57+
def should_store(self, should_store: bool) -> 'Publish':
4658
self._should_store = bool(should_store)
4759
return self
4860

49-
def meta(self, meta):
61+
def meta(self, meta: any) -> 'Publish':
5062
self._meta = meta
5163
return self
5264

53-
def ttl(self, ttl):
65+
def ttl(self, ttl: int) -> 'Publish':
5466
self._ttl = ttl
5567
return self
5668

pubnub/pubnub_core.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import time
33
from warnings import warn
44
from copy import deepcopy
5+
from typing import Optional
56
from pubnub.endpoints.entities.membership.add_memberships import AddSpaceMembers, AddUserSpaces
67
from pubnub.endpoints.entities.membership.update_memberships import UpdateSpaceMembers, UpdateUserSpaces
78
from pubnub.endpoints.entities.membership.fetch_memberships import FetchSpaceMemberships, FetchUserMemberships
@@ -205,8 +206,11 @@ def here_now(self):
205206
def where_now(self):
206207
return WhereNow(self)
207208

208-
def publish(self):
209-
return Publish(self)
209+
def publish(self, channel: Optional[str] = None, message: Optional[any] = None, should_store: Optional[bool] = None,
210+
use_post: Optional[bool] = None, meta: Optional[any] = None, replicate: Optional[bool] = None,
211+
ptto: Optional[int] = None, ttl: Optional[int] = None) -> Publish:
212+
return Publish(self, channel=channel, message=message, should_store=should_store, use_post=use_post, meta=meta,
213+
replicate=replicate, ptto=ptto, ttl=ttl)
210214

211215
def grant(self):
212216
return Grant(self)
@@ -239,8 +243,9 @@ def history(self):
239243
def message_counts(self):
240244
return MessageCount(self)
241245

242-
def fire(self):
243-
return Fire(self)
246+
def fire(self, channel: Optional[str] = None, message: Optional[any] = None, use_post: Optional[bool] = None,
247+
meta: Optional[any] = None) -> Fire:
248+
return Fire(self, channel=channel, message=message, use_post=use_post, meta=meta)
244249

245250
def signal(self):
246251
return Signal(self)

0 commit comments

Comments
 (0)