aboutsummaryrefslogtreecommitdiffstats
path: root/python/Pubnub.py
diff options
context:
space:
mode:
authorDevendra2014-04-24 00:16:57 +0530
committerDevendra2014-04-24 00:16:57 +0530
commit493e29a108255eb3ae3166dc920f40e2f4e5c4c4 (patch)
treebce73bc6014e0b10820ebc1393515f7e3e521b88 /python/Pubnub.py
parentf7b89bfafae34fa22509c1d1c59d1284ec62c5df (diff)
downloadpubnub-python-493e29a108255eb3ae3166dc920f40e2f4e5c4c4.tar.bz2
adding single file for all platforms
Diffstat (limited to 'python/Pubnub.py')
-rw-r--r--python/Pubnub.py35
1 files changed, 29 insertions, 6 deletions
diff --git a/python/Pubnub.py b/python/Pubnub.py
index 3bf02a3..a52c46e 100644
--- a/python/Pubnub.py
+++ b/python/Pubnub.py
@@ -760,6 +760,19 @@ class PubnubCoreAsync(PubnubBase):
self._reset_offline()
+ def error_callback(response):
+ ## ERROR ?
+ if not response or \
+ ('message' in response and
+ response['message'] == 'Forbidden'):
+ _invoke_error(response['payload'][
+ 'channels'], response['message'])
+ _connect()
+ return
+ if 'message' in response:
+ _invoke_error(err=response['message'])
+
+
def sub_callback(response):
## ERROR ?
if not response or \
@@ -807,7 +820,7 @@ class PubnubCoreAsync(PubnubBase):
str(self.timetoken)
], "urlparams": {"uuid": self.uuid, "auth": self.auth_key}},
sub_callback,
- sub_callback,
+ error_callback,
single=True)
'''
except Exception as e:
@@ -847,7 +860,7 @@ class PubnubCoreAsync(PubnubBase):
try:
import urllib.request
-except:
+except ImportError:
import urllib2
import threading
@@ -905,20 +918,24 @@ class HTTPClient:
else:
if latest_sub_callback['callback'] is not None:
latest_sub_callback['id'] = 0
+ print data
try:
data = json.loads(data)
- except:
+ except ValueError as e:
_invoke(latest_sub_callback['error'],
{'error': 'json decoding error'})
return
+ print code
if code != 200:
+ print 'ERROR'
_invoke(latest_sub_callback['error'], data)
else:
+ print 'CALLBACK'
_invoke(latest_sub_callback['callback'], data)
else:
try:
data = json.loads(data)
- except:
+ except ValueError:
_invoke(self.error, {'error': 'json decoding error'})
return
@@ -933,6 +950,12 @@ def _urllib_request_2(url, timeout=320):
resp = urllib2.urlopen(url, timeout=timeout)
except urllib2.HTTPError as http_error:
resp = http_error
+ except urllib2.URLError as error:
+ #print error.reason
+ msg = { "message" : str(error.reason)}
+ #print str(msg)
+ return (json.dumps(msg),0)
+
return (resp.read(), resp.code)
@@ -940,7 +963,7 @@ def _urllib_request_3(url, timeout=320):
#print(url)
try:
resp = urllib.request.urlopen(url, timeout=timeout)
- except urllib.request.HTTPError as http_error:
+ except (urllib.request.HTTPError, urllib.request.URLError) as http_error:
resp = http_error
r = resp.read().decode("utf-8")
#print(r)
@@ -1017,7 +1040,7 @@ class Pubnub(PubnubCoreAsync):
response = _urllib_request(url, timeout=320)
try:
resp_json = json.loads(response[0])
- except:
+ except ValueError:
return [0, "JSON Error"]
if response[1] != 200 and 'status' in resp_json: