[ "/home/user/roms/nes/Super Mario Bros (USA).nes", "/home/user/roms/nes/Legend of Zelda (USA).nes" ]
def export_csv(self, filepath, clean_names=False): with open(filepath, 'w', newline='', encoding='utf-8') as f: writer = csv.writer(f) writer.writerow(['filename' if not clean_names else 'clean_name']) for item in self.get_list(clean_names): writer.writerow([item]) romlister
args = parser.parse_args()
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] [ "/home/user/roms/nes/Super Mario Bros (USA)
def filter_by_size(self, min_bytes=None, max_bytes=None): """Filter by file size in bytes.""" if min_bytes is not None: self.roms = [r for r in self.roms if r.stat().st_size >= min_bytes] if max_bytes is not None: self.roms = [r for r in self.roms if r.stat().st_size <= max_bytes] return self [ "/home/user/roms/nes/Super Mario Bros (USA).nes"
self.roms = [p for p in iterator if p.is_file()] return self
class RomLister: def (self, root_path, recursive=True): self.root_path = Path(root_path) self.recursive = recursive self.roms = []