aboutsummaryrefslogtreecommitdiffstats
path: root/python/Pubnub.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/Pubnub.py')
-rw-r--r--python/Pubnub.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/python/Pubnub.py b/python/Pubnub.py
new file mode 100644
index 0000000..e806f9b
--- /dev/null
+++ b/python/Pubnub.py
@@ -0,0 +1,57 @@
+## www.pubnub.com - PubNub Real-time push service in the cloud.
+# coding=utf8
+
+## PubNub Real-time Push APIs and Notifications Framework
+## Copyright (c) 2010 Stephen Blum
+## http://www.pubnub.com/
+
+## -----------------------------------
+## PubNub 3.0 Real-time Push Cloud API
+## -----------------------------------
+
+try: import json
+except ImportError: import simplejson as json
+import sys
+import time
+import hashlib
+import urllib2
+import uuid
+from PubnubCore import PubnubCore
+
+class Pubnub(PubnubCore):
+ def __init__(
+ self,
+ publish_key,
+ subscribe_key,
+ secret_key = False,
+ cipher_key = False,
+ ssl_on = False,
+ origin = 'pubsub.pubnub.com',
+ pres_uuid = None
+ ) :
+ super(Pubnub, self).__init__(
+ publish_key = publish_key,
+ subscribe_key = subscribe_key,
+ secret_key = secret_key,
+ cipher_key = cipher_key,
+ ssl_on = ssl_on,
+ origin = origin,
+ uuid = pres_uuid
+ )
+
+ def _request( self, request, callback = None ) :
+ ## Build URL
+ url = self.getUrl(request)
+
+ ## Send Request Expecting JSONP Response
+ try:
+ try: usock = urllib2.urlopen( url, None, 200 )
+ except TypeError: usock = urllib2.urlopen( url, None )
+ response = usock.read()
+ usock.close()
+ if (callback):
+ callback(json.loads(response))
+ else:
+ return json.loads( response )
+ except:
+ return None