def set_filepath(self, filepath, filename=None): """Sets rom file path.""" self.filepath = filepath self.filename = filename self.archive = Archive(self.filepath) if len(self.archive.namelist) > 1 and not self.filename: self.parent.archive_dialog.emit(self.archive.namelist)
def read_files(self): """Reads files.""" self.roms = [] files = self.get_files() num_files = len(files) for filenum, filename in enumerate(files): fullpath = os.path.join(self.rom_path, filename) try: archive = Archive(fullpath) for fname in archive.namelist: rom_header = m64p_rom_header() ctypes.memmove( ctypes.byref(rom_header), archive.read(fname, ctypes.sizeof(rom_header)), ctypes.sizeof(rom_header)) rom_settings = self.parent.core.get_rom_settings( sl(rom_header.CRC1), sl(rom_header.CRC2)) if rom_settings: crc = "%X%X" % (sl(rom_header.CRC1), sl( rom_header.CRC2)) self.roms.append( (crc, rom_settings.goodname, fullpath, fname)) archive.close() except Exception, err: log.warn(str(err)) continue percent = float(filenum) / float(num_files) * 100 self.parent.progressBar.emit(SIGNAL("valueChanged(int)"), percent)
def set_filepath(self, filepath, filename=None): """Sets rom file path.""" self.filepath = filepath self.filename = filename self.archive = Archive(self.filepath) if len(self.archive.namelist) > 1 and not self.filename: self.parent.emit(SIGNAL("archive_dialog(PyQt_PyObject)"), self.archive.namelist)
def read_files(self): """Reads files.""" self.roms = [] files = self.get_files() num_files = len(files) for filenum, filename in enumerate(files): fullpath = os.path.join(self.rom_path, filename) try: archive = Archive(fullpath) for fname in archive.namelist: crc_tuple = self.get_rom_crc(archive, fname) if crc_tuple: rom_settings = self.parent.core.get_rom_settings( crc_tuple[0], crc_tuple[1]) if rom_settings: crc = "%X%X" % (crc_tuple[0], crc_tuple[1]) self.roms.append((crc, rom_settings.goodname, fullpath, fname)) archive.close() except Exception as err: log.warn(str(err)) continue percent = float(filenum) / float(num_files) * 100 self.parent.progressBar.valueChanged.emit(percent) self.exit()