summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-18 23:25:01 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-01-18 23:25:01 +0100
commitbb89298db7f52c319995ec738648c6ffbbb41353 (patch)
treed162236fcf427c58e058d43981fb451f3a56704b
parente27a0ad3ad89f1e990d6f03f1e4486e3b85a5c77 (diff)
downloadIshtar-bb89298db7f52c319995ec738648c6ffbbb41353.tar.bz2
Ishtar-bb89298db7f52c319995ec738648c6ffbbb41353.zip
Disable cache generation when loading from fixture
-rw-r--r--ishtar_common/models.py3
-rw-r--r--ishtar_common/utils.py14
2 files changed, 16 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index c4a09879e..d58d549c8 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -60,7 +60,7 @@ from simple_history.models import HistoricalRecords as BaseHistoricalRecords
from ishtar_common.ooo_replace import ooo_replace
from ishtar_common.model_merging import merge_model_objects
-from ishtar_common.utils import get_cache
+from ishtar_common.utils import get_cache, disable_for_loaddata
from ishtar_common.data_importer import Importer, ImportFormater, \
IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, \
TypeFormater, YearFormater, StrToBoolean, FileFormater
@@ -308,6 +308,7 @@ class Cached(object):
return None
+@disable_for_loaddata
def post_save_cache(sender, **kwargs):
sender.refresh_cache()
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index ddd9268ce..60913851e 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -17,6 +17,7 @@
# See the file COPYING for details.
+from functools import wraps
import hashlib
import random
@@ -94,6 +95,19 @@ def mode(array):
return list(set(filter(lambda x: array.count(x) == most, array)))
+def disable_for_loaddata(signal_handler):
+ """
+ Decorator that turns off signal handlers when loading fixture data.
+ """
+
+ @wraps(signal_handler)
+ def wrapper(*args, **kwargs):
+ if kwargs.get('raw'):
+ return
+ signal_handler(*args, **kwargs)
+ return wrapper
+
+
def _get_image_link(item):
# manage missing images
if not item.thumbnail or not item.thumbnail.url: