示例#1
0
def get_call_center_data_source_stats(domains):

    domains_to_forms = get_form_counts_for_domains(domains)
    domains_to_cases = get_case_and_action_counts_for_domains(domains)

    domain_data = {}
    for domain in domains:
        try:
            adapters = get_sql_adapters_for_domain(domain)
            domain_data[domain] = DomainStats(
                domain,
                forms=_compile_stats(
                    name='forms',
                    ucr_count=adapters.forms.get_query_object().count(),
                    es_count=domains_to_forms.get(domain, 0),
                ),
                cases=_compile_stats(
                    name='cases',
                    ucr_count=adapters.cases.get_query_object().count(),
                    es_count=domains_to_cases.get(domain, {}).get('cases', 0)),
                case_actions=_compile_stats(
                    name='case_actions',
                    ucr_count=adapters.case_actions.get_query_object().count(),
                    es_count=domains_to_cases.get(domain,
                                                  {}).get('case_actions', 0)),
                error=None)
        except Exception as e:
            domain_data[domain] = DomainStats(domain, None, None, None, str(e))

    return domain_data
示例#2
0
def get_call_center_data_source_stats(domains):

    domains_to_forms = get_form_counts_for_domains(domains)
    domains_to_cases = get_case_and_action_counts_for_domains(domains)

    domain_data = {}
    for domain in domains:
        try:
            adapters = get_sql_adapters_for_domain(domain)
            domain_data[domain] = DomainStats(
                domain,
                forms=_compile_stats(
                    name='forms',
                    ucr_count=adapters.forms.get_query_object().count(),
                    es_count=domains_to_forms.get(domain, 0),
                ),
                cases=_compile_stats(
                    name='cases',
                    ucr_count=adapters.cases.get_query_object().count(),
                    es_count=domains_to_cases.get(domain, {}).get('cases', 0)
                ),
                case_actions=_compile_stats(
                    name='case_actions',
                    ucr_count=adapters.case_actions.get_query_object().count(),
                    es_count=domains_to_cases.get(domain, {}).get('case_actions', 0)
                ),
                error=None
            )
        except Exception as e:
            domain_data[domain] = DomainStats(domain, None, None, None, str(e))

    return domain_data
示例#3
0
 def test_get_case_and_action_counts_for_domains(self):
     self._send_case_to_es()
     self._send_case_to_es()
     self._send_case_to_es('other')
     results = get_case_and_action_counts_for_domains([self.domain, 'other'])
     self.assertEqual(
         results,
         {
             self.domain: {'cases': 2, 'case_actions': 2},
             'other': {'cases': 1, 'case_actions': 1}
         }
     )