From 0053f7e94a3720f8898dfe527942d9dfe6225368 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Fri, 3 Apr 2015 04:50:50 -1000 Subject: [PATCH] Fix KeyError in region position cache, add set() as default value --- src/mceditlib/anvil/worldfolder.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mceditlib/anvil/worldfolder.py b/src/mceditlib/anvil/worldfolder.py index 09f5a1f..642d5f8 100644 --- a/src/mceditlib/anvil/worldfolder.py +++ b/src/mceditlib/anvil/worldfolder.py @@ -2,6 +2,7 @@ worldfolder """ from __future__ import absolute_import, division, print_function, unicode_literals +from collections import defaultdict import logging from mceditlib.exceptions import ChunkNotPresent @@ -30,8 +31,9 @@ class AnvilWorldFolder(object): self.filename = filename self.regionFiles = {} self._dimensionNames = set(self._findDimensions()) - self._regionPositionsByDim = {dimName: set(self._listRegionFiles(dimName)) - for dimName in self._dimensionNames} + self._regionPositionsByDim = defaultdict(set) + self._regionPositionsByDim.update({dimName: set(self._listRegionFiles(dimName)) + for dimName in self._dimensionNames}) def __repr__(self):