diff options
Diffstat (limited to 'python/Pubnub.py')
| -rw-r--r-- | python/Pubnub.py | 57 | 
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 | 
