Exemplo n.º 1
0
 def test_get_number_of_cases_in_domain__type(self):
     self.assertEqual(
         get_number_of_cases_in_domain_of_type(self.domain,
                                               case_type='type1'),
         len([
             case for case in self.cases
             if case.domain == self.domain and case.type == 'type1'
         ]))
Exemplo n.º 2
0
    def get_pact_cases(cls):
        # query couch to get reduce count of all PACT cases
        case_es = ReportCaseES(PACT_DOMAIN)
        # why 'or 100'??
        total_count = \
            get_number_of_cases_in_domain_of_type('pact', case_type=PACT_CASE_TYPE) or 100
        fields = ['_id', 'name', 'pactid.#value']
        query = case_es.base_query(terms={'type': PACT_CASE_TYPE},
                                   fields=fields,
                                   start=0,
                                   size=total_count)
        query['filter']['and'].append({"prefix": {"dot_status.#value": "dot"}})

        results = case_es.run_query(query)
        for res in results['hits']['hits']:
            yield res['fields']
Exemplo n.º 3
0
    def get_pact_cases(cls):
        # query couch to get reduce count of all PACT cases
        case_es = ReportCaseES(PACT_DOMAIN)
        # why 'or 100'??
        total_count = \
            get_number_of_cases_in_domain_of_type('pact', case_type=PACT_CASE_TYPE) or 100
        fields = ['_id', 'name', 'pactid.#value']
        query = case_es.base_query(terms={'type': PACT_CASE_TYPE},
                                   fields=fields,
                                   start=0,
                                   size=total_count)
        query['filter']['and'].append({"prefix": {"dot_status.#value": "dot"}})

        results = case_es.run_query(query)
        for res in results['hits']['hits']:
            yield res['fields']
Exemplo n.º 4
0
    def update_indicators_for_case_type(self, case_type, domain):
        print("\n\n\nFetching %s cases in domain %s...." % (case_type, domain))
        relevant_indicators = CaseIndicatorDefinition.get_all(
            namespace=MVP.NAMESPACE, domain=domain, case_type=case_type)

        if relevant_indicators:
            num_cases = get_number_of_cases_in_domain_of_type(
                domain, case_type=case_type)

            print(("\nFound the following Case Indicator Definitions "
                   "for Case Type %s in Domain %s") % (case_type, domain))
            print("--%s\n" % "\n--".join([i.slug
                                          for i in relevant_indicators]))

            print("Found %d possible cases for update." % num_cases)
            case_ids = get_case_ids_in_domain(domain, type=case_type)

            self._throttle_updates(
                "Cases of type %s in %s" % (case_type, domain),
                relevant_indicators, num_cases, domain, case_ids, CommCareCase)
Exemplo n.º 5
0
    def update_indicators_for_case_type(self, case_type, domain):
        print "\n\n\nFetching %s cases in domain %s...." % (case_type, domain)
        relevant_indicators = CaseIndicatorDefinition.get_all(
            namespace=MVP.NAMESPACE,
            domain=domain,
            case_type=case_type
        )

        if relevant_indicators:
            num_cases = get_number_of_cases_in_domain_of_type(domain, case_type=case_type)

            print ("\nFound the following Case Indicator Definitions "
                   "for Case Type %s in Domain %s") % (case_type, domain)
            print "--%s\n" % "\n--".join([i.slug for i in relevant_indicators])

            print "Found %d possible cases for update." % num_cases
            case_ids = get_case_ids_in_domain(domain, type=case_type)

            self._throttle_updates(
                "Cases of type %s in %s" % (case_type, domain),
                relevant_indicators, num_cases, domain, case_ids, CommCareCase)
Exemplo n.º 6
0
 def test_get_number_of_cases_in_domain__type(self):
     self.assertEqual(
         get_number_of_cases_in_domain_of_type(self.domain, case_type='type1'),
         len([case for case in self.cases
              if case.domain == self.domain and case.type == 'type1'])
     )