class InstallationProtocol(LineReceiver):
	"""Network protocol description. Receiving messages, translate to JSON, building responses"""

	def __init__(self, factory):
		self.factory = factory
		self.controller = ControllerLayer()

	def lineReceived(self, data):
		logging.debug('message received: {msg}'.format(msg = data))
		request = json.loads(data.strip())
		if not self.controller.initialized:
			logging.debug('WTF')
			self.controller.initialize(request)
		self.controller.run_installation()
		response = self.controller.build_responce() 
		self.transport.write(response + '\r\n')
		logging.debug('response: {resp}'.format(resp = repr(response)))
	def __init__(self, factory):
		self.factory = factory
		self.controller = ControllerLayer()