aboutsummaryrefslogtreecommitdiffstats
path: root/common/PubnubCoreAsync.py
diff options
context:
space:
mode:
authorDevendra2014-04-22 23:12:05 +0530
committerDevendra2014-04-22 23:12:05 +0530
commit4926061ebebbc060d14feac9c9d6b13880205724 (patch)
tree332860ffc43e35b8ee22b7ccfa9c31df53307d34 /common/PubnubCoreAsync.py
parent5d6a3e1356182663b03d62f9258d38459d49017e (diff)
downloadpubnub-python-4926061ebebbc060d14feac9c9d6b13880205724.tar.bz2
improvements to dev console
Diffstat (limited to 'common/PubnubCoreAsync.py')
-rw-r--r--common/PubnubCoreAsync.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/common/PubnubCoreAsync.py b/common/PubnubCoreAsync.py
index f7b57cc..30d337c 100644
--- a/common/PubnubCoreAsync.py
+++ b/common/PubnubCoreAsync.py
@@ -84,6 +84,15 @@ class PubnubCoreAsync(PubnubBase):
channel += ch
return channel
+ def get_channel_array(self):
+ channels = self.subscriptions
+ channel = []
+ with self._channel_list_lock:
+ for ch in channels:
+ if not channels[ch]['subscribed']:
+ continue
+ channel.append(ch)
+ return channel
def each(l, func):
if func is None:
@@ -192,7 +201,7 @@ class PubnubCoreAsync(PubnubBase):
## New Channel?
- if not channel in self.subscriptions:
+ if not channel in self.subscriptions or self.subscriptions[channel]['subscribed'] is False:
with self._channel_list_lock:
self.subscriptions[channel] = {
'name' : channel,
@@ -221,7 +230,6 @@ class PubnubCoreAsync(PubnubBase):
def sub_callback(response):
## ERROR ?
- #print response
if not response or ('message' in response and response['message'] == 'Forbidden'):
_invoke_error(response['payload']['channels'], response['message'])
_connect()
@@ -230,9 +238,7 @@ class PubnubCoreAsync(PubnubBase):
_invoke_connect()
with self._tt_lock:
- #print 'A tt : ', self.timetoken , ' last tt : ' , self.last_timetoken
self.timetoken = self.last_timetoken if self.timetoken == 0 and self.last_timetoken != 0 else response[1]
- #print 'B tt : ', self.timetoken , ' last tt : ' , self.last_timetoken
if len(response) > 2:
channel_list = response[2].split(',')
response_list = response[0]
@@ -247,12 +253,13 @@ class PubnubCoreAsync(PubnubBase):
if chobj:
_invoke(chobj['callback'], self.decrypt(r))
- #with self._tt_lock:
- # self.timetoken = self.last_timetoken if self.timetoken == 0 and self.last_timetoken != 0 else response[1]
_connect()
channel_list = self.get_channel_list(self.subscriptions)
+ if len(channel_list) <= 0:
+ return
+
## CONNECT TO PUBNUB SUBSCRIBE SERVERS
try:
self.SUB_RECEIVER = self._request( { "urlcomponents" : [
@@ -269,7 +276,6 @@ class PubnubCoreAsync(PubnubBase):
self._connect = _connect
-
## BEGIN SUBSCRIPTION (LISTEN FOR MESSAGES)
_connect()