Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: <utf-8> -*-
- from __future__ import print_function
- import json
- try:
- from types import SimpleNamespace as Namespace
- except ImportError:
- # Python 2.x fallback
- from argparse import Namespace
- #This converts your data to Json
- def serialize(self, ServerName="something", port=1,
- username="something", password="something",
- routingMap=[{"ApplicationName":"something","dataFileLocation":"./","QueueName":"something"}]):
- toBeConvertedToJson = {}
- toBeConvertedToJson["ServerName"] = ServerName
- toBeConvertedToJson["port"] = port
- toBeConvertedToJson["username"] = self.crypto.encrypt(username)
- toBeConvertedToJson["password"] = self.crypto.encrypt(password)
- toBeConvertedToJson["Description"] = "This application pushed application information to Rabbitmq"
- # Routing Map, iterate though items and convert to UTF-8
- toBeConvertedToJson["routingMap"] = routingMap
- #rabbitmqinformation["routingMap"] = self.makeRoutes()
- return json.dumps(toBeConvertedToJson, indent=4, encoding="utf-8")
- #This uses namespaces to return a dictionary value to make it easier to access the json values
- def deserialize(self, data):
- dataDic = json.loads(data, object_hook=lambda d: Namespace(**d))
- self.servername = dataDic.ServerName.encode("utf-8")
- self.port = dataDic.port
- self.routingMap = dataDic.routingMap
- self.username = self.crypto.decrypt(dataDic.username).encode("utf-8")
- self.password = self.crypto.decrypt(dataDic.password).encode("utf-8")
Add Comment
Please, Sign In to add comment