def reloadList(self): try: itemData = self.savesFolderComboBox.itemData(self.savesFolderComboBox.currentIndex()) if itemData is None: log.error("No item selected in savesFolderComboBox!!(?)") return saveFileDir, instanceIndex = itemData if instanceIndex is not None: # disable version selector, update resource packs(?) pass if not os.path.isdir(saveFileDir): raise IOError(u"Could not find the Minecraft saves directory!\n\n({0} was not found or is not a directory)".format(saveFileDir)) log.info("Scanning %s for worlds...", saveFileDir) potentialWorlds = os.listdir(saveFileDir) potentialWorlds = [os.path.join(saveFileDir, p) for p in potentialWorlds] worldFiles = [p for p in potentialWorlds if isLevel(AnvilWorldAdapter, p)] self.worldListModel = WorldListModel(worldFiles) self.worldListView.setModel(self.worldListModel) if len(self.worldListModel.worlds): self.worldListView.setFocus() self.worldListView.setCurrentIndex(self.worldListModel.createIndex(0, 0)) self.showWorld(self.worldListModel.worlds[0][0]) except EnvironmentError as e: setWidgetError(self, e)
def reloadList(self): try: saveFileDir = self.savesFolderComboBox.itemData( self.savesFolderComboBox.currentIndex()) if saveFileDir is None: log.error("No item selected in savesFolderComboBox!!(?)") return if not os.path.isdir(saveFileDir): raise IOError( u"Could not find the Minecraft saves directory!\n\n({0} was not found or is not a directory)" .format(saveFileDir)) log.info("Scanning %s for worlds...", saveFileDir) potentialWorlds = os.listdir(saveFileDir) potentialWorlds = [ os.path.join(saveFileDir, p) for p in potentialWorlds ] worldFiles = [ p for p in potentialWorlds if isLevel(AnvilWorldAdapter, p) ] self.worldListModel = WorldListModel(worldFiles) self.worldListView.setModel(self.worldListModel) except Exception as e: setWidgetError( self, e, "An error occurred while scanning the saves folder.")
def reloadList(self): self.selectedWorldIndex = -1 self.itemWidgets = [] try: if not os.path.isdir(self.saveFileDir): raise IOError( u"Could not find the Minecraft saves directory!\n\n({0} was not found or is not a directory)" .format(self.saveFileDir)) log.info("Scanning %s for worlds...", self.saveFileDir) potentialWorlds = os.listdir(self.saveFileDir) potentialWorlds = [ os.path.join(self.saveFileDir, p) for p in potentialWorlds ] worldFiles = [ p for p in potentialWorlds if isLevel(AnvilWorldAdapter, p) ] worldAdapters = [] for f in worldFiles: try: adapter = findAdapter(f, readonly=True) except Exception as e: log.exception("Could not find adapter for %s: %r", f, e) continue else: worldAdapters.append(adapter) if len(worldAdapters) == 0: raise IOError( "No worlds found! You should probably play Minecraft to create your first world." ) column = QtGui.QVBoxLayout() column.setContentsMargins(0, 0, 0, 0) column.setSpacing(0) worldGroup = QtGui.QButtonGroup(self) #worldGroup.setExclusive(True) for adapter in worldAdapters: item = WorldListItemWidget(adapter) self.itemWidgets.append(item) self.itemWidgets.sort(key=lambda i: i.lastPlayed, reverse=True) for i, item in enumerate(self.itemWidgets): worldGroup.addButton(item, i) column.addWidget(item) item.doubleClicked.connect(self.worldListItemDoubleClicked) worldGroup.buttonClicked[int].connect(self.worldListItemClicked) self.scrollAreaWidgetContents.setLayout(column) except EnvironmentError as e: setWidgetError(self, e)
def reloadList(self): try: saveFileDir = self.savesFolderComboBox.itemData(self.savesFolderComboBox.currentIndex()) if saveFileDir is None: log.error("No item selected in savesFolderComboBox!!(?)") return if not os.path.isdir(saveFileDir): raise IOError(u"Could not find the Minecraft saves directory!\n\n({0} was not found or is not a directory)".format(saveFileDir)) log.info("Scanning %s for worlds...", saveFileDir) potentialWorlds = os.listdir(saveFileDir) potentialWorlds = [os.path.join(saveFileDir, p) for p in potentialWorlds] worldFiles = [p for p in potentialWorlds if isLevel(AnvilWorldAdapter, p)] self.worldListModel = WorldListModel(worldFiles) self.worldListView.setModel(self.worldListModel) except Exception as e: setWidgetError(self, e, "An error occurred while scanning the saves folder.")
def reloadList(self): try: itemData = self.savesFolderComboBox.itemData( self.savesFolderComboBox.currentIndex()) if itemData is None: log.error("No item selected in savesFolderComboBox!!(?)") return saveFileDir, instanceIndex = itemData if instanceIndex is not None: # disable version selector, update resource packs(?) pass if not os.path.isdir(saveFileDir): raise IOError( u"Could not find the Minecraft saves directory!\n\n({0} was not found or is not a directory)" .format(saveFileDir)) log.info("Scanning %s for worlds...", saveFileDir) potentialWorlds = os.listdir(saveFileDir) potentialWorlds = [ os.path.join(saveFileDir, p) for p in potentialWorlds ] worldFiles = [ p for p in potentialWorlds if isLevel(AnvilWorldAdapter, p) ] self.worldListModel = WorldListModel(worldFiles) self.worldListView.setModel(self.worldListModel) if len(self.worldListModel.worlds): self.worldListView.setFocus() self.worldListView.setCurrentIndex( self.worldListModel.createIndex(0, 0)) self.showWorld(self.worldListModel.worlds[0][0]) except EnvironmentError as e: setWidgetError(self, e)