import parser
import config
import readsetting


CONFIGFILE = "config.cfg"

parser = parser.PARSER()

readsetting = readsetting.READSETTING()

class WRITEMESSAGE:


	#changed
	def write_update_result(self): #after update send this files InfoResult.acfg to server

		import os

		os.system("rm -f /tmp/ReportRequest.temp")
		
		f = file('ReportRequest.acfg', 'w')

		parser.write_identity_record(f)

		parser.write_autoconfig_protocol_record(f)


		parser.write_firmware_update_request_record(f)

		parser.write_firmware_update_response_record(f)

		index = 0

		try:		

			for value in config.firmware_file_response_code:

				parser.write_firmware_file_request_record(f,index)

				parser.write_firmware_file_response_record(f,index)

				index = index +1
		except:
			pass			

		f.flush()
		f.close()


	#to send report after killed by MMI
	def write_update_result_temp(self): #after update send this files InfoResult.acfg to server


		f = file('/tmp/ReportRequest.temp', 'w')

		parser.write_identity_record(f)

		parser.write_autoconfig_protocol_record(f)


		parser.write_firmware_update_request_record(f)

		parser.write_firmware_update_response_record(f)

		index = 0

		try:		

			for value in config.firmware_file_response_code:

				parser.write_firmware_file_request_record(f,index)

				parser.write_firmware_file_response_record(f,index)

				index = index +1
		except:
			pass			

		f.flush()
		f.close()

	def write_config_request(self):

		f = file('/tmp/send.acfg', 'r')

		for line in f:
			parser.parser(line)
		f.close()


#Roxia Begin smyook 06.06.23
		parser.outbound_proxy_test()
#Roxia End smyook

		f = file('ReportRequest.acfg', 'w')

		readsetting.read_identity_record(CONFIGFILE)

		parser.write_identity_record(f)

		parser.write_autoconfig_protocol_record(f)

		parser.write_config_request_record(f)

		parser.write_config_response_record(f)

		parser.write_dns_test_record(f)

#Roxia Begin smyook 06.06.23
		parser.write_outbound_proxy_sip_record(f)
#Roxia End smyook

		parser.write_sip_register_record(f)

		f.flush()
		f.close()


#added by elpis, to send configuration error message
	def write_config_error_request(self):

		f = file('ReportRequest.acfg', 'w')

		readsetting.read_identity_record(CONFIGFILE)

		parser.write_identity_record(f)

		parser.write_autoconfig_protocol_record(f)

		parser.write_config_request_record(f)

		parser.write_config_response_record(f)

		f.flush()

		f.close()


#end

	def write_config_file(self):

		f = file('config.cfg', 'w')
		f.write("vendor_id=" + config.vendor_id + '\n')
		f.write("user_id=" + str(config.user_id) + '\n')
		f.write("device_id=" + config.device_id + '\n')
		f.write("firmware_version=" + config.firmware_version_available + '\n')
		f.write("hardware_version=" + config.hardware_version + '\n')
		f.write("l5_protocol_used=" + config.l5_protocol_used + '\n')
		f.write("autoconfig_protocol_version=" + config.autoconfig_protocol_version + '\n')
		f.flush()
		f.close()


