def xmlwriter(data): #xmlwriter() is loaded automatically after scan is run tree = open('games.xml' ,'w') tree.write('''<?xml version="1.0"?>\n''') root = Element("Library") for key, value in sorted(data.items()): #removes extensions for filenames for key values game = ET.SubElement(root, 'game') system = ET.SubElement(game, 'system') title = ET.SubElement(game, 'title') path = ET.SubElement(game, 'path') core = ET.SubElement(game, 'core') image = ET.SubElement(game, 'image') game_extension = key[-4::].lower() if win32_check.check(): core_ext = '.dll' win32_tags(system, core, game_extension) else: core_ext = '.so' linux_tags(system, core, game_extension) print(core.text) if '.gb' in game_extension: clean_key = key.strip(key[-3::]) else: clean_key = key.strip(key[-4::]) title.text = clean_key image.text = root_path.change() + '/missing_artwork.png' path.text = '"{:}"'.format(value) indent(root) #root doesn't have to be returned tree.write(ET.tostring(root).decode('utf-8')) tree.close() return 'Wrote .xml'
def write_cg(ammended_data): cgp = root_path.change('shaders') + '/retroarch.cgp' with open(cgp, 'w') as ofile: ofile.seek(0) ofile.write(ammended_data) ofile.write('wrap_mode0 = "clamp_to_border"\n') ofile.write('float_framebuffer0 = "false"\n')
def ammend_config(data): with open(OUTPUT_CFG, 'r') as infile: for index, line in enumerate(infile): if 'video_shader' == line.split()[0]: data[index] = 'video_shader = "{:}/retroarch.cgp"\n'.format(root_path.change('shaders')) return data print('never found')
def read_shader(selected_shader): shader = root_path.change('shaders') + selected_shader with open(shader, "r") as shader_file: if ".cgp" in selected_shader: shader_data = shader_file.readlines() first_line = int(shader_data[0].split()[2].replace('"', '')) num_of_shaders = first_line for i in range(0, num_of_shaders-1): for line in shader_data: if 'filter_linear{:}'.format(str(i)) == line.split()[0]: index_for_wrap = shader_data.index(line) + 1 shader_data[index_for_wrap] = 'wrap_mode{:} = "clamp_to_border"\n'.format(i) break return write_shader(''.join(shader_data)) else: cg_file = ['shaders = "1"\n', 'shader0 = ""', \ 'wrap_mode0 = "clamp_to_border"\n', \ 'float_framebuffer0 = "false"\n'] cg_file[1] = 'shader0 = "{:}"\n'.format(shader) write_cg(''.join(cg_file)) config_data = get_config_data(OUTPUT_CFG) ammended_data = ammend_config(config_data) write_config(OUTPUT_CFG, ammended_data) return ('Shader wrote to ', )
def get_title(get_path=0): with open(root_path.change('..') + '/shaders.txt', 'r') as fid: lines = fid.readlines() if get_path: return get_shader_path(lines) shader_title = get_jslist(lines, tag='shader') #shader_path = get_jslist(lines[1], tag='shader_path') #pyotherside.send('shader_path',shader_path) return shader_title