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
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))
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
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>')
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>')
def ouvrir_fichier2(): open_file(2) mise_a_jour_interface()
def ouvrir_fichier1(): open_file(1) mise_a_jour_interface()
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)