예제 #1
0
def restore(uploaded_file):
	try:
		uploaded_file.save(c.TEMP_CONFIG_FILE, True)
		f1 = open_file(c.TEMP_CONFIG_FILE, 'r')
		if f1 is None:
			m.add_message(_('Unexpected error: could not open temporary configuration file, file not uploaded.'))
			return
		output = ''
		for line in f1.readlines():
			line = line.rstrip(linesep)
			if line != '' and '=' in line:
				param, value = line.split('=')
				if param != '':
					for fieldset in data.CONFIG_FIELDSETS:
						found = False
						for row in fieldset[2]:
							if row[2] == param:
								output += param + '=' + value + c.CR
								found = True
								break
						if found:
							break
		f1.close()
		if path.exists(c.TEMP_CONFIG_FILE):
			remove(c.TEMP_CONFIG_FILE)
		if len(output) < 2:
			m.add_message(_('No relevant data in uploaded file, file not uploaded.'))
			return
		if path.exists(c.CONFIG_FILE):
			if path.exists(c.CONFIG_FILE + '.bak'):
				remove(c.CONFIG_FILE + '.bak')
			rename(c.CONFIG_FILE, c.CONFIG_FILE + '.bak')
			m.add_message(_('A copy of your configuration file was saved as: ') + c.CONFIG_FILE + '.bak')
		f2 = open_file(c.CONFIG_FILE, 'w')
		if f2 is None:
			m.add_message(_('Unexpected error: could not open configuration file, file not uploaded.'))
			return
		f2.write(output)
		f2.close()
		m.add_message('<font color="#373">' + _('Configuration file uploaded') + ', ' + strftime("%c") + '.</font>')
	except:
		m.add_message(_('Invalid file format, file not uploaded.'))
		try:
			f1.close()
			f2.close()
			if path.exists(c.TEMP_CONFIG_FILE):
				remove(c.TEMP_CONFIG_FILE)
		except:
			return
예제 #2
0
파일: main.py 프로젝트: 12153/quack
def main(screen):
    h = screen.getmaxyx()[0]
    buffer = files.open_file()
    top = basics.set_top(screen, buffer)
    position = [0, 0]
    buffer, position, top = basics.redraw_screen(screen, buffer, position, top)

    #    color_thread = threading.Thread(target=color, args=(screen, buffer, position, top))
    #    color_thread.start()
    while 1:
        key = screen.getch()
        if key == curses.KEY_UP or key == curses.KEY_DOWN or key == curses.KEY_RIGHT or key == curses.KEY_LEFT:
            buffer, position, top = basics.move(screen, buffer, position, top,
                                                key)
        elif key == curses.KEY_BACKSPACE or key == 127:
            buffer, position, top = text.backspace(screen, buffer, position,
                                                   top)
        elif key == curses.KEY_ENTER or key == 10:
            buffer, position, top = text.enter(screen, buffer, position, top)
        elif key == 27:
            files.save_file(buffer)
            return
        else:
            buffer, position = text.text(screen, buffer, position, top,
                                         chr(key))
예제 #3
0
def display_config_file():
	html = ''
	f = open_file(c.CONFIG_FILE, 'r')
	if f is None:
		html += '<font color="#c60">' + _('The configuration file can not be viewed, file not found.') + '</font><br/>'
	else:
		for line in f.readlines():
			html += line + '<br>'
		f.close()
	return html
예제 #4
0
파일: admin.py 프로젝트: CharlesCrepin/WEX
def write_app_config(request, language):
	if path.exists(c.APP_CONFIG_FILE + '.bak'):
		remove(c.APP_CONFIG_FILE + '.bak')
	if path.exists(c.APP_CONFIG_FILE):
		rename(c.APP_CONFIG_FILE, c.APP_CONFIG_FILE + '.bak')
		m.add_message(_('A copy of your configuration file was saved as: ') + c.APP_CONFIG_FILE + '.bak')
	f = open_file(c.APP_CONFIG_FILE, 'w')
	if f is None:
		m.add_message(_('Unexpected error: could not open configuration file, configuration was not saved.'))
		return
	f.write ('<?xml version=\'1.0\' encoding=\'utf-8\'?>' + c.CR + '<settings>' + c.CR)
	f.write('\t<languages>' + c.CR)
	while len(request.forms.getall('languages')) < len(l.LANGUAGES):
		index = -1
		found = False
		for lang in l.LANGUAGES:
			index += 1
			if lang[0] != 'en':
				found = False
				for select_language in request.forms.getall('languages'):
					if lang[0] == select_language:
						found = True
						break
				if not found:
					break
		if not found:
			del l.LANGUAGES[index]
	if request.forms.get('code') != '' and request.forms.get('label') != '':
		l.LANGUAGES.append([request.forms.get('code'), request.forms.get('label')])
		if not path.exists('locale/' + request.forms.get('code')):
			copy_directory('locale/en', 'locale/' + request.forms.get('code'))
			m.add_message(_('A new folder was created: locale/') + request.forms.get('code'))
			m.add_message(_('Fill the msgstr fields in LC_MESSAGES/wem.pot with translations in ') + request.forms.get('label') + (', then run create_mo_from_po.sh'))
			m.add_message(_('Finally, restart the service.'))
	for lang in l.LANGUAGES:
		f.write('\t\t<language value="' + lang[0] + '" label="' + lang[1] + '"/>' + c.CR)
	f.write('\t</languages>' + c.CR)
	f.write('\t<language value="' + language + '"/>' + c.CR)
	for fieldset in data.ADMIN_FIELDSETS:
		for row in fieldset[2]:
			if row[0] == 'input_row':
				if row[3] == 'text' and row[2] != 'code' and row[2] != 'label':
						f.write('\t<' + row[2] + ' value="' + request.forms.get(row[2]) + '"/>' + c.CR)
				elif row[3] == 'checkbox':
					write_checkbox_for_admin(f, row[2], request.forms.get(row[2]), 'disabled')
			elif row[0] == 'select_row' and row[2] != 'languages':
				f.write('\t<' + row[2] + ' value="' + request.forms.get(row[2]) + '"/>' + c.CR)
	f.write('</settings>' + c.CR)
	f.close()
	m.add_message('<font color="#373">' +_('Application configuration saved') + ', ' + strftime("%c") + '.</font>')
예제 #5
0
def write_configuration(request, firmware_version):
	if path.exists(c.CONFIG_FILE + '.bak'):
		remove(c.CONFIG_FILE + '.bak')
	if path.exists(c.CONFIG_FILE):
		rename(c.CONFIG_FILE, c.CONFIG_FILE + '.bak')
		m.add_message(_('A copy of your configuration file was saved as: ') + c.CONFIG_FILE + '.bak')
	f = open_file(c.CONFIG_FILE, 'w')
	if f is None:
		m.add_message(_('Unexpected error: could not open configuration file, configuration was not saved.'))
		return
	flag_network_ok = True
	if request.forms.get('connection_type') == 'static':
		if validate_ip_address(concat_ip_cells(request, 'ip')) and validate_ip_address(concat_ip_cells(request, 'subnet')) and validate_ip_address(concat_ip_cells(request, 'gateway')):
			if not address_in_network(concat_ip_cells(request, 'gateway'), get_network_in_cidr(concat_ip_cells(request, 'ip'), concat_ip_cells(request, 'subnet'))):
				m.add_message(_('Invalid combination of ip, subnet and gateway, addresses not saved.'))
				flag_network_ok = False
	num = 1
	for fieldset in data.CONFIG_FIELDSETS:
		if num == 1:
			f.write('[' + fieldset[1] + ']' + c.CR)
		else:
			f.write(c.CR + '[' + fieldset[1] + ']' + c.CR)
		num = 0
		for row in fieldset[2]:
			if row[0] == 'input_row':
				if row[3] == 'text':
					f.write(row[2] + '=' + request.forms.get(row[2]) + c.CR)
				elif row[3] == 'checkbox':
					f.write(write_checkbox(row[2], request.forms.get(row[2]), 'disable') + c.CR)
				elif row[3] == 'radio':
					f.write(write_radio(row[2], request.forms.get(row[2])) + c.CR)
				elif row[3] == 'file':
					f.write(row[2] + '=' + firmware_version + c.CR)
			elif row[0] == 'select_row':
				f.write(write_select(row[2],request.forms.get(row[2])) + c.CR)
			elif row[0] == 'ip_row':
				if row[4] != 'connection_type':
					#for now we write them
					f.write(write_ip(request, row[2], row[1]) + c.CR)
				elif request.forms.get('connection_type') == 'static':
					if flag_network_ok:
						f.write(write_ip(request, row[2], row[1]) + c.CR)
					elif row[2] != 'ip' and row[2] != 'subnet' and row[2] != 'gateway':
						f.write(write_ip(request, row[2], row[1]) + c.CR)
	f.close()
	m.add_message('<font color="#373">' +_('Configuration saved') + ', ' + strftime("%c") + '.</font>')
예제 #6
0
def ouvrir_fichier2():
    open_file(2)
    mise_a_jour_interface()
예제 #7
0
def ouvrir_fichier1():
    open_file(1)
    mise_a_jour_interface()
예제 #8
0
 def test_opening_of_correct_txt(self):
     self.maxDiff = None
     results = open_file("sample_text_to_test.txt")
     expected = "test\nof\nfiles\nIs it proper?\nKrak\u00f3w\nPOK\u00d3J\npi\u0119trze w gara\u017cu\n"
     self.assertEqual(expected, results)