コード例 #1
0
ファイル: case_search.py プロジェクト: mekete/commcare-hq
    def build(self):
        """Returns a reindexer that will return either all domains with case search
        enabled, or a single domain if passed in
        """
        limit_to_db = self.options.pop('limit_to_db', None)
        domain = self.options.pop('domain', None)

        limit_db_aliases = [limit_to_db] if limit_to_db else None
        initialize_index_and_mapping(get_es_new(), CASE_SEARCH_INDEX_INFO)
        try:
            if domain is not None:
                if not case_search_enabled_for_domain(domain):
                    raise CaseSearchNotEnabledException(
                        "{} does not have case search enabled".format(domain))
                domains = [domain]
            else:
                # return changes for all enabled domains
                domains = case_search_enabled_domains()

            change_provider = get_domain_case_change_provider(
                domains=domains, limit_db_aliases=limit_db_aliases)
        except ProgrammingError:
            # The db hasn't been intialized yet, so skip this reindex and complain.
            return _fail_gracefully_and_tell_admins()
        else:
            return PillowChangeProviderReindexer(
                get_case_search_to_elasticsearch_pillow(),
                change_provider=change_provider,
            )
コード例 #2
0
def domains_needing_search_index():
    return set(
        list(case_search_enabled_domains()) +
        CASE_LIST_EXPLORER.get_enabled_domains() +
        EXPLORE_CASE_DATA.get_enabled_domains() +
        ECD_MIGRATED_DOMAINS.get_enabled_domains() +
        CASE_API_V0_6.get_enabled_domains())
コード例 #3
0
ファイル: case_search.py プロジェクト: saketkanth/commcare-hq
def get_case_search_reindexer(domain=None):
    """Returns a reindexer that will return either all domains with case search
    enabled, or a single domain if passed in
    """
    initialize_index_and_mapping(get_es_new(), CASE_SEARCH_INDEX_INFO)
    try:
        if domain is not None:
            if not case_search_enabled_for_domain(domain):
                raise CaseSearchNotEnabledException("{} does not have case search enabled".format(domain))
            domains = [domain]
        else:
            # return changes for all enabled domains
            domains = case_search_enabled_domains()

        change_provider = get_domain_case_change_provider(domains=domains)
    except ProgrammingError:
        # The db hasn't been intialized yet, so skip this reindex and complain.
        return _fail_gracefully_and_tell_admins()
    else:
        return PillowReindexer(
            get_case_search_to_elasticsearch_pillow(),
            change_provider=change_provider
        )
コード例 #4
0
ファイル: case_search.py プロジェクト: homck007/commcare-hq
def domains_needing_search_index():
    return set(
        list(case_search_enabled_domains()) +
        CASE_LIST_EXPLORER.get_enabled_domains())
コード例 #5
0
ファイル: case_search.py プロジェクト: kkrampa/commcare-hq
def domains_needing_search_index():
    return set(list(case_search_enabled_domains()) + CASE_LIST_EXPLORER.get_enabled_domains())