diff options
| author | Devendra | 2015-06-18 13:23:12 +0530 | 
|---|---|---|
| committer | Devendra | 2015-06-18 13:23:12 +0530 | 
| commit | e82f7edacfac4c7ca0e12582adc43450926e9a51 (patch) | |
| tree | d786b5d021a08b14ca99309f27506335648b192c | |
| parent | 2ed5ac76e9719d3ba53ed9f7245c53e37347bddd (diff) | |
| download | pubnub-python-e82f7edacfac4c7ca0e12582adc43450926e9a51.tar.bz2 | |
fix for history in encryption mode
| -rw-r--r-- | pubnub.py | 27 | 
1 files changed, 22 insertions, 5 deletions
| @@ -667,8 +667,9 @@ class PubnubBase(object):                      if 'message' in response:                          callback_data['message'] = response['message'] -                         -                    callback(callback_data) + +                    if (callback is not None): +                        callback(callback_data)              else:                  if (callback is not None):                      callback(response) @@ -917,6 +918,22 @@ class PubnubBase(object):                  [["Pub1","Pub2","Pub3","Pub4","Pub5"],13406746729185766,13406746845892666]          """ +        def _get_decrypted_history(resp): +            if resp and resp[1] is not None and self.cipher_key: +                msgs  = resp[0] +                for i in range(0,len(msgs)): +                    msgs[i] = self.decrypt(msgs[i]) +            return resp + +        def _history_callback(resp): +            if callback is not None: +                callback(_get_decrypted_history(resp)) + +        if callback is None: +            history_cb = None +        else: +            history_cb = _history_callback +          params = dict()          params['count'] = count @@ -928,7 +945,7 @@ class PubnubBase(object):          params['include_token'] = 'true' if include_token else 'false'          ## Get History -        return self._request({'urlcomponents': [ +        return _get_decrypted_history(self._request({'urlcomponents': [              'v2',              'history',              'sub-key', @@ -936,8 +953,8 @@ class PubnubBase(object):              'channel',              channel,          ], 'urlparams': params}, -            callback=self._return_wrapped_callback(callback), -            error=self._return_wrapped_callback(error)) +            callback=self._return_wrapped_callback(history_cb), +            error=self._return_wrapped_callback(error)))      def time(self, callback=None):          """This function will return a 17 digit precision Unix epoch. | 
