import glob import os from os import walk from os import listdir from os.path import isdir, join import shutil import re def handle_mask(folder,songids): for musicdb_filepath in glob.glob(os.path.join(folder, "*musicdb*.xml")): has_changes = False print(" processing",musicdb_filepath) fixedfile = "" musicdb_filehandle = open(musicdb_filepath,encoding='cp932') content = musicdb_filehandle.read() result = re.search("") mask_begin = content[(offset+result.start()):(offset+result.end())].index("") mask_end = content[(offset+result.start()+mask_begin+prefixlen+1):(offset+result.start()+mask_begin+prefixlen+50)].index('<')+1 extract_mask = int(content[(offset+result.start()+mask_begin+prefixlen):(offset+result.start()+mask_begin+prefixlen+mask_end)]) fixed_mask = extract_mask|0x100 if extract_mask != fixed_mask: print(" fixing mask",extract_mask,"->",fixed_mask) newcontent = content[(offset+result.start()+mask_begin+prefixlen):(offset+result.start()+mask_begin+prefixlen+mask_end)].replace(str(extract_mask), str(fixed_mask)) has_changes = True #print match with updated flag fixedfile += content[(offset):(offset+result.start()+mask_begin+prefixlen)] fixedfile += newcontent fixedfile += content[(offset+result.start()+mask_begin+prefixlen+mask_end):(offset+result.end()+1)] else: print(" mask already includes the load_background flag") #print match as is fixedfile += content[(offset):(offset+result.end()+1)] offset += result.end()+1 result = re.search("