X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9a938c8b406ce05e3bca4a5a483d473ece9e17b0..6bf9138bd74d9725e84cf3b31e3e1ee94b2a6656:/src/catalogue/helpers.py?ds=sidebyside

diff --git a/src/catalogue/helpers.py b/src/catalogue/helpers.py
index 97c63d08c..4dd7bda9f 100644
--- a/src/catalogue/helpers.py
+++ b/src/catalogue/helpers.py
@@ -28,8 +28,17 @@ def get_top_level_related_tags(tags, categories=None):
     global _COUNTERS, _COUNTER_TIME
     # First, check that we have a valid and recent version of the counters.
     if getmtime(settings.CATALOGUE_COUNTERS_FILE) > _COUNTER_TIME:
-        with open(settings.CATALOGUE_COUNTERS_FILE) as f:
-            _COUNTERS = cPickle.load(f)
+        for i in xrange(10):
+            try:
+                with open(settings.CATALOGUE_COUNTERS_FILE) as f:
+                    _COUNTERS = cPickle.load(f)
+            except (EOFError, ValueError):
+                if i < 9:
+                    continue
+                else:
+                    raise
+            else:
+                break
 
     tagids = tuple(sorted(t.pk for t in tags))
     try: