add option to skip broken item instead of triggering exception
This commit is contained in:
@@ -40,6 +40,7 @@ class CollectionBase(storage.BaseCollection):
|
||||
# Path should already be sanitized
|
||||
self._path = pathutils.strip_path(path)
|
||||
self._encoding = storage_.configuration.get("encoding", "stock")
|
||||
self._skip_broken_item = storage_.configuration.get("storage", "skip_broken_item")
|
||||
if filesystem_path is None:
|
||||
filesystem_path = pathutils.path_to_filesystem(folder, self.path)
|
||||
self._filesystem_path = filesystem_path
|
||||
|
||||
@@ -101,7 +101,11 @@ class CollectionPartGet(CollectionPartCache, CollectionPartLock,
|
||||
cache_content = self._store_item_cache(
|
||||
href, temp_item, cache_hash)
|
||||
except Exception as e:
|
||||
raise RuntimeError("Failed to load item %r in %r: %s" %
|
||||
if self._skip_broken_item:
|
||||
logger.warning("Skip broken item %r in %r: %s", href, self.path, e)
|
||||
return
|
||||
else:
|
||||
raise RuntimeError("Failed to load item %r in %r: %s" %
|
||||
(href, self.path, e)) from e
|
||||
# Clean cache entries once after the data in the file
|
||||
# system was edited externally.
|
||||
|
||||
Reference in New Issue
Block a user