def encrypt(self, message): if self.cipher_key: pc = PubnubCrypto() out = [] if type( message ) == type(list()): for item in message: encryptItem = pc.encrypt(self.cipher_key, item ).rstrip() out.append(encryptItem) message = json.dumps(out) elif type( message ) == type(dict()): outdict = {} for k, item in message.iteritems(): encryptItem = pc.encrypt(self.cipher_key, item ).rstrip() outdict[k] = encryptItem out.append(outdict) message = json.dumps(out[0]) else: message = json.dumps(pc.encrypt(self.cipher_key, json.dumps(message)).replace('\n','')) else : message = json.dumps(message) return message;
def encrypt(self, message): if self.cipher_key: pc = PubnubCrypto() out = [] if type(message) == type(list()): for item in message: encryptItem = pc.encrypt(self.cipher_key, item).rstrip() out.append(encryptItem) message = json.dumps(out) elif type(message) == type(dict()): outdict = {} for k, item in message.iteritems(): encryptItem = pc.encrypt(self.cipher_key, item).rstrip() outdict[k] = encryptItem out.append(outdict) message = json.dumps(out[0]) else: message = json.dumps( pc.encrypt(self.cipher_key, json.dumps(message)).replace('\n', '')) else: message = json.dumps(message) return message
def publish(self, args): """ #** #* Publish #* #* Send a message to a channel. #* #* @param array args with channel and message. #* @return array success information. #** ## Publish Example def publish_complete(info): print(info) pubnub.publish({ 'channel' : 'hello_world', 'message' : { 'some_text' : 'Hello my World' }, 'callback' : publish_complete }) """ ## Fail if bad input. if not (args['channel'] and args['message']): print('Missing Channel or Message') return False ## Capture User Input channel = str(args['channel']) message = args['message'] if self.cipher_key: pc = PubnubCrypto() out = [] if type(message) == type(list()): for item in message: encryptItem = pc.encrypt(self.cipher_key, item).rstrip() out.append(encryptItem) message = json.dumps(out) elif type(message) == type(dict()): outdict = {} for k, item in message.iteritems(): encryptItem = pc.encrypt(self.cipher_key, item).rstrip() outdict[k] = encryptItem out.append(outdict) message = json.dumps(out[0]) else: message = json.dumps( pc.encrypt(self.cipher_key, message).replace('\n', '')) else: message = json.dumps(args['message']) ## Capture Callback if args.has_key('callback'): callback = args['callback'] else: callback = lambda x: x ## Sign Message if self.secret_key: hashObject = sha256() hashObject.update(self.secret_key) hashedSecret = hashObject.hexdigest() hash = hmac.HMAC(hashedSecret, '/'.join([ self.publish_key, self.subscribe_key, self.secret_key, channel, message ]), digestmod=digestmod) signature = hash.hexdigest() else: signature = '0' ## Send Message return self._request([ 'publish', self.publish_key, self.subscribe_key, signature, channel, '0', message ], callback)
def publish( self, args ) : """ #** #* Publish #* #* Send a message to a channel. #* #* @param array args with channel and message. #* @return array success information. #** ## Publish Example def publish_complete(info): print(info) pubnub.publish({ 'channel' : 'hello_world', 'message' : { 'some_text' : 'Hello my World' }, 'callback' : publish_complete }) """ ## Fail if bad input. if not (args['channel'] and args['message']) : print('Missing Channel or Message') return False ## Capture User Input channel = str(args['channel']) message = args['message'] if self.cipher_key : pc = PubnubCrypto() out = [] if type( message ) == type(list()): for item in message: encryptItem = pc.encrypt(self.cipher_key, item ).rstrip() out.append(encryptItem) message = json.dumps(out) elif type( message ) == type(dict()): outdict = {} for k, item in message.iteritems(): encryptItem = pc.encrypt(self.cipher_key, item ).rstrip() outdict[k] = encryptItem out.append(outdict) message = json.dumps(out[0]) else: message = json.dumps(pc.encrypt(self.cipher_key, message).replace('\n','')) else : message = json.dumps(args['message']) ## Capture Callback if args.has_key('callback') : callback = args['callback'] else : callback = lambda x : x ## Sign Message if self.secret_key : hashObject = sha256() hashObject.update(self.secret_key) hashedSecret = hashObject.hexdigest() hash = hmac.HMAC(hashedSecret, '/'.join([ self.publish_key, self.subscribe_key, self.secret_key, channel, message ]), digestmod=digestmod) signature = hash.hexdigest() else : signature = '0' ## Send Message return self._request([ 'publish', self.publish_key, self.subscribe_key, signature, channel, '0', message ], callback );