diff options
| -rw-r--r-- | ishtar_common/models.py | 3 | ||||
| -rw-r--r-- | ishtar_common/utils.py | 14 | 
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: | 
