def get_list(self, clean_names=False): """Return list of ROM file paths or cleaned names.""" if clean_names: return [self.clean_name(r.stem) for r in self.roms] return [str(r) for r in self.roms]
def filter_by_name_pattern(self, pattern, case_sensitive=False): """Keep ROMs whose name matches regex pattern.""" flags = 0 if case_sensitive else re.IGNORECASE regex = re.compile(pattern, flags) self.roms = [r for r in self.roms if regex.search(r.name)] return self romlister
def export_txt(self, filepath, clean_names=False): with open(filepath, 'w', encoding='utf-8') as f: for item in self.get_list(clean_names): f.write(item + '\n') clean_names=False): with open(filepath
def filter_by_extension(self, extensions): """Keep only files with given extensions (e.g. ['.nes', '.sfc']).""" extensions = [ext.lower() if ext.startswith('.') else f'.ext.lower()' for ext in extensions] self.roms = [r for r in self.roms if r.suffix.lower() in extensions] return self romlister