def handle(self, *args, **options):
        get_cache_manager().flush_all()
        for database_name in all_db_names():
            print("Database %s") % (database_name, )
            print 'Deleting...'
            manager = get_db_manager(database_name)
            _delete_db_and_remove_db_manager(manager)

        for database_name in document_stores_to_process(args):
            recreated_manager = get_db_manager(database_name)
            print "Syncing Views....."
            SyncOnlyChangedViews().sync_view(recreated_manager)
        print "Loading data....."
        load_data()
        print "Done."
Ejemplo n.º 2
0
 def _delete_form_model_from_cache(self, old_form_code=None):
     cache_manger = get_cache_manager()
     form_code_to_clear = self.form_code
     if old_form_code:
         form_code_to_clear = self.old_form_code
     cache_key = get_form_model_cache_key(form_code_to_clear, self._dbm)
     cache_manger.delete(cache_key)
def _clear_form_models_from_cache(form_codes, dbm):
    cache_manger = get_cache_manager()
    keys = [
        get_form_model_cache_key(form_code, dbm) for form_code in form_codes
        if form_code
    ]
    if keys:
        cache_manger.delete_multi(keys)
Ejemplo n.º 4
0
def get_form_model_document(code, dbm):
    cache_manger = get_cache_manager()
    key_as_str = get_form_model_cache_key(code, dbm)
    row_value = cache_manger.get(key_as_str)
    if row_value is None:
        row_value = _load_questionnaire(code, dbm)
        cache_manger.set(key_as_str,
                         row_value,
                         time=FORM_MODEL_EXPIRY_TIME_IN_SEC)
    return row_value
Ejemplo n.º 5
0
def update_reindex_status(db_name, questionnaire_id, **kwargs):
    indexes_out_of_sync = get_cache_manager().get('indexes_out_of_sync')
    filtered_items = [(index, info)
                      for index, info in enumerate(indexes_out_of_sync)
                      if info['db_name'] == db_name
                      and info['questionnaire_id'] == questionnaire_id]
    if filtered_items:
        i, info = filtered_items[0]
        info.update(**kwargs)
        indexes_out_of_sync[i] = info
Ejemplo n.º 6
0
def account_wide_customized_message_details(dbm):
    cache_manger = get_cache_manager()
    key_as_str = get_language_cache_key(dbm, ACCOUNT_MESSAGE_DOC_ID)
    messages_dict = cache_manger.get(key_as_str)

    if messages_dict is None:
        account_wide_message = dbm.database.get(ACCOUNT_MESSAGE_DOC_ID)
        messages_dict = _build_message_details(
            account_wide_message["messages"],
            TITLE_ACCOUNT_WIDE_REPLY_MESSAGE_CODE_MAP)
        cache_manger.set(key_as_str,
                         messages_dict,
                         time=LANGUAGE_EXPIRY_TIME_IN_SEC)

    return messages_dict
def _get_form_model_docs(dbm, form_code):
    cache_manger = get_cache_manager()
    cache_key = get_form_model_cache_key(form_code, dbm)
    form_model_docs = cache_manger.get(cache_key)
    if form_model_docs:
        return form_model_docs
    form_model_docs = _fetch_form_model_docs_from_couch(dbm, form_code)
    if form_model_docs:
        raw_form_model_docs = [doc['value'] for doc in form_model_docs]
        cache_manger.set(cache_key,
                         raw_form_model_docs,
                         time=FORM_MODEL_EXPIRY_TIME_IN_SEC)
        return raw_form_model_docs

    return None
Ejemplo n.º 8
0
def questionnaire_customized_message_details(dbm, language_code):
    cache_manger = get_cache_manager()
    key_as_str = get_language_cache_key(dbm, language_code)
    messages_dict = cache_manger.get(key_as_str)

    if messages_dict is None:
        customized_message_row = dbm.load_all_rows_in_view(
            'all_languages',
            startkey=language_code,
            endkey=language_code,
            include_docs=True)[0]
        reply_messages_dict = customized_message_row["doc"]["messages"]
        messages_dict = _build_message_details(
            reply_messages_dict, TITLE_QUESTIONNAIRE_REPLY_MESSAGE_CODE_MAP)
        cache_manger.set(key_as_str,
                         messages_dict,
                         time=LANGUAGE_EXPIRY_TIME_IN_SEC)

    return messages_dict
Ejemplo n.º 9
0
 def __init__(self):
     self.dbm = get_db_manager(settings.QUESTIONNAIRE_TEMPLATE_DB_NAME)
     self.cache_manger = get_cache_manager()
Ejemplo n.º 10
0
 def tearDownClass(cls):
     _delete_db_and_remove_db_manager(cls.dbm)
     get_cache_manager().flush_all()
Ejemplo n.º 11
0
def _set_in_cache(cache_key, value):
    cache_manager = get_cache_manager()
    cache_manager.set(cache_key, value)
Ejemplo n.º 12
0
def _get_from_cache(cache_key):
    cache_manager = get_cache_manager()
    #     cache_key = 'indexes_out_of_sync'
    return cache_manager.get(cache_key)
Ejemplo n.º 13
0
 def _delete_form_model_from_cache(self):
     cache_manger = get_cache_manager()
     cache_key = get_form_model_cache_key(self.form_code, self._dbm)
     cache_manger.delete(cache_key)
Ejemplo n.º 14
0
 def tearDown(self):
     self.manager = get_db_manager('http://localhost:5984/', self.db_name)
     _delete_db_and_remove_db_manager(self.manager)
     get_cache_manager().flush_all()
Ejemplo n.º 15
0
def _delete_language_from_cache(dbm, language_code):
    cache_manger = get_cache_manager()
    cache_key = get_language_cache_key(dbm, language_code)
    cache_manger.delete(cache_key)