diff --git a/autocomplete_multi_models/business_process.py b/autocomplete_multi_models/business_process.py index b86026af350bf7ccbdfda1fb767a722b134053d2..5cb7b0041d0757c698a7c3557e66154f768547a5 100644 --- a/autocomplete_multi_models/business_process.py +++ b/autocomplete_multi_models/business_process.py @@ -15,14 +15,18 @@ _AUTOCOMPLETE_MIN_LENGTH = utils.DEFAULT_AUTOCOMPLETE_MIN_LENGTH _AUTOCOMPLETE_MIN_SIMILARITY = utils.DEFAULT_AUTOCOMPLETE_MIN_SIMILARITY _AUTOCOMPLETE_LIMIT = utils.DEFAULT_AUTOCOMPLETE_LIMIT _CAN_BE_INDEXED_BY_AUTOCOMPLETE_FUNCTION_NAME = utils.DEFAULT_CAN_BE_INDEXED_BY_AUTOCOMPLETE_FUNCTION_NAME +__in_mem_storage = { + utils.AUTO_UPDATE_ENABLED: True, + utils.REBUILD_NEEDED: True, +} def get_setting_from_storage(key, default): - return key == utils.REBUILD_NEEDED + return __in_mem_storage.get(key, default) def set_setting_in_storage(key, value): - pass + __in_mem_storage[key] = value def split_string(value): diff --git a/autocomplete_multi_models/signals.py b/autocomplete_multi_models/signals.py index 42d6b1d298117bf6d7a9b4a02fc52e395ed1936c..6f9ff42b3ce45fe279e6263666ad53805c8ccc08 100644 --- a/autocomplete_multi_models/signals.py +++ b/autocomplete_multi_models/signals.py @@ -2,7 +2,8 @@ from autocomplete_multi_models import business_process, utils def instance_update(sender, instance, field_names, **kwargs): - business_process.add_instance_to_index(instance, field_names) + if business_process.get_setting_from_storage(utils.AUTO_UPDATE_ENABLED, True): + business_process.add_instance_to_index(instance, field_names) def instance_delete(sender, instance, field_names, **kwargs): diff --git a/autocomplete_multi_models/utils.py b/autocomplete_multi_models/utils.py index 456bc4f7445a8d3bec23c3ebe9e50580ada3ec32..e01972e8e95ecdd62fe545b907ab153ff1b49dd7 100644 --- a/autocomplete_multi_models/utils.py +++ b/autocomplete_multi_models/utils.py @@ -7,6 +7,7 @@ DEFAULT_AUTOCOMPLETE_MIN_SIMILARITY = 0.3 DEFAULT_AUTOCOMPLETE_LIMIT = 10 REBUILD_NEEDED = "is_autocomplete_multi_models_rebuild_needed" DEFAULT_CAN_BE_INDEXED_BY_AUTOCOMPLETE_FUNCTION_NAME = "can_be_indexed_by_autocomplete" +AUTO_UPDATE_ENABLED = "is_autocomplete_auto_update_on_save_enabled" def get_indexed_fields(): diff --git a/setup.cfg b/setup.cfg index 6a9b154063523767739aafa61798502de9ba43b8..786e0baa694345e2370afba50ef29879d2847477 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = autocomplete-multi-models -version = 0.2 +version = 0.3 description = An app that index fields across multiple models, and expose an api to query for word similar to the query. long_description = file: README.md author = Bryan Brancotte