diff options
| -rw-r--r-- | python/examples/pn-test-gae/Pubnub.py | 37 | ||||
| -rw-r--r-- | python/examples/pn-test-gae/main.py | 34 | 
2 files changed, 62 insertions, 9 deletions
| diff --git a/python/examples/pn-test-gae/Pubnub.py b/python/examples/pn-test-gae/Pubnub.py index 59a38af..73f1832 100644 --- a/python/examples/pn-test-gae/Pubnub.py +++ b/python/examples/pn-test-gae/Pubnub.py @@ -172,8 +172,12 @@ class PubnubBase(object):          return message;      def decrypt(self, message): +          if self.cipher_key: -            message = self.pc.decrypt(self.cipher_key, message) +            try: +                message = self.pc.decrypt(self.cipher_key, message) +            except: +                pass          return message @@ -343,14 +347,26 @@ class PubnubBase(object):          else :              callback = None +        def _history_decryption_wrapper(response): +            if response is None: return +            for i,v in enumerate(response): +                response[i] = self.decrypt(v) +            if callback is not None: +                callback(response) +            else: +                return response + +          ## Get History -        return self._request({ "urlcomponents" : [ +        response = self._request({ "urlcomponents" : [              'history',              self.subscribe_key,              channel,              '0',              str(limit) -        ] }, callback); +        ] }, _history_decryption_wrapper if callback is not None else None ); + +        return _history_decryption_wrapper(response)      def detailedHistory(self, args) :          """ @@ -402,15 +418,26 @@ class PubnubBase(object):          else :              callback = None  +        def _history_decryption_wrapper(response): +            if response is None: return +            for i,v in enumerate(response[0]): +                response[0][i] = self.decrypt(v) +            if callback is not None: +                callback(response) +            else: +                return response +          ## Get History -        return self._request({ 'urlcomponents' : [ +        response = self._request({ 'urlcomponents' : [              'v2',              'history',              'sub-key',              self.subscribe_key,              'channel',              channel, -        ],'urlparams' : params }, callback=callback); +        ],'urlparams' : params }, callback=_history_decryption_wrapper if callback is not None else None); + +        return _history_decryption_wrapper(response)      def time(self, args = None) :          """ diff --git a/python/examples/pn-test-gae/main.py b/python/examples/pn-test-gae/main.py index b3d2088..6476cb8 100644 --- a/python/examples/pn-test-gae/main.py +++ b/python/examples/pn-test-gae/main.py @@ -15,21 +15,47 @@  # limitations under the License.  #  import webapp2 - +import time  from Pubnub import Pubnub -pubnub = Pubnub( publish_key='demo', subscribe_key='demo', cipher_key='enigma', ssl_on=False ) +pubnub = Pubnub( publish_key='demo', subscribe_key='demo', ssl_on=False ) +pubnub_enc = Pubnub( publish_key='demo', subscribe_key='demo', cipher_key='enigma', ssl_on=False ) +channel = 'gae-test-channel-' + str(time.time())  class MainHandler(webapp2.RequestHandler):      def get(self):      	info = pubnub.publish({ -    		'channel' : 'hello_world', +    		'channel' : channel, +    		'message' : { +        	'some_text' : 'Hello my World' +    		} +		}) +        info_enc = pubnub_enc.publish({ +    		'channel' : channel,      		'message' : {          	'some_text' : 'Hello my World'      		}  		}) -        self.response.write(info) +        hn = pubnub.here_now({ +            'channel' : channel +        }) +        history = pubnub.detailedHistory({ +            'channel' : channel +        }) +        history_enc = pubnub_enc.detailedHistory({ +            'channel' : channel +        }) +        self.response.write('Message published to channel ' + channel + '<br>' + str(info)) +        self.response.write('<br><br>') +        self.response.write('Encrypted message published to channel ' + channel + '<br>' + str(info_enc)) +        self.response.write('<br><br>') +        self.response.write('Here now data for channel : '+ channel + '<br>' + str(hn)) +        self.response.write('<br><br>') +        self.response.write('History for channel : '+ channel + '<br>' + str(history)) +        self.response.write('<br><br>') +        self.response.write('History with decryption enabled for channel : '+ channel + '<br>' + str(history_enc)) +  app = webapp2.WSGIApplication([      ('/', MainHandler) | 
