Newer
Older
Import / projects / LGN-IP3870 / t / new / dnsetting.py


#
# shchun : setting for download 
#              this setting items are saparated from setting in order to share web, manual download
#
import os, shutil
from roxiadebug import *

dn_setting_file = '/usr/local/lgvp/mdown.cfg'
dn_setting_file_tmp = '/usr/local/lgvp/mdown.cfg_tmp'

class DnSetting:
	def __init__(self):
		if not os.access(dn_setting_file, os.R_OK):
			os.system('echo download_server_port=9080 > %s'%dn_setting_file)
			os.system('echo download_server_ip=upgrade.ktsode.com >> %s'%dn_setting_file)			

	def get_download_server_url(self):

		server_ip = self.get_download_server_ip()
		server_port = self.get_download_server_port()

		if server_port != 0:
			if len(server_ip) > 0:
				url = 'http://%s:%d/'%(server_ip, server_port)
			else:
				url = ''
		else:
			if len(server_ip) > 0:
				url = 'http://%s/'%(server_ip)
			else:
				url = ''
				
		return url
	
	def get_download_server_port(self):
		try:
			for line in file(dn_setting_file):
				line = line.strip()
				if line.startswith('download_server_port'):
					try:
						key, value = line.split('=', 1)
					except:
						value = '0'

				if key == 'download_server_port':
					ret = int(value)				
					return ret
			debugLogC('ERROR: get_download_server_port')
			return 0
		except:
			return 9080
			
	def get_download_server_ip(self):
		try:
			for line in file(dn_setting_file):
				line = line.strip()
				key, value = line.split('=', 1)

				if key == 'download_server_ip':
					return value.strip()
			
			debugLogC('ERROR: get_download_server_ip')
			return ""
		except:
			return "upgrade.ktsode.com"

	def set_download_server_port(self, port):
		if os.access(dn_setting_file_tmp, os.R_OK):
			os.remove(dn_setting_file_tmp)
		
		
		fw = file(dn_setting_file_tmp, 'w')

		try:
			for line in file(dn_setting_file):
				line = line.strip()
				key, value = line.split('=', 1)

				if key == 'download_server_port':
					fw.write('download_server_port='+str(port))
					fw.write('\n')
				else:
					fw.write(line)
					fw.write('\n')
		except:
				fw.write('download_server_ip=upgrade.ktsode.com')
				fw.write('\n')
				fw.write('download_server_port='+str(port))
				fw.write('\n')
			


		fw.close()
		shutil.copyfile(dn_setting_file_tmp, dn_setting_file)

		if os.access(dn_setting_file_tmp, os.R_OK):
			os.remove(dn_setting_file_tmp)		
		return None

	def set_download_server_ip(self, ip):
		if os.access(dn_setting_file_tmp, os.R_OK):
			os.remove(dn_setting_file_tmp)
		
		
		fw = file(dn_setting_file_tmp, 'w')

		try:
			for line in file(dn_setting_file):
				line = line.strip()
				key, value = line.split('=', 1)

				if key == 'download_server_ip':
					fw.write('download_server_ip='+ip)
					fw.write('\n')
				else:
					fw.write(line)
					fw.write('\n')
		except:
				fw.write('download_server_ip='+ip)
				fw.write('\n')
				fw.write("download_server_port=9080")
				fw.write('\n')

		fw.close()
		shutil.copyfile(dn_setting_file_tmp, dn_setting_file)

		if os.access(dn_setting_file_tmp, os.R_OK):
			os.remove(dn_setting_file_tmp)		
		return None	
down_setting = DnSetting()


if __name__ == '__main__':
	print 'SERVER_IP', down_setting.get_download_server_ip()
	print 'SERVER_PORT', down_setting.get_download_server_port()
	print 'SERVER_URL', down_setting.get_download_server_url()
	down_setting.set_download_server_port(1111)
	down_setting.set_download_server_ip('hello world')
	print 'SERVER_IP', down_setting.get_download_server_ip()	
	print 'SERVER_PORT', down_setting.get_download_server_port()
	print 'SERVER_URL', down_setting.get_download_server_url()