当前位置: 首页>>代码示例>>Python>>正文


Python CaseAccessorSQL.get_cases方法代码示例

本文整理汇总了Python中corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL.get_cases方法的典型用法代码示例。如果您正苦于以下问题:Python CaseAccessorSQL.get_cases方法的具体用法?Python CaseAccessorSQL.get_cases怎么用?Python CaseAccessorSQL.get_cases使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL的用法示例。


在下文中一共展示了CaseAccessorSQL.get_cases方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_get_cases

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
    def test_get_cases(self):
        case1 = _create_case()
        case2 = _create_case()

        cases = CaseAccessorSQL.get_cases(['missing_case'])
        self.assertEqual(0, len(cases))

        cases = CaseAccessorSQL.get_cases([case1.case_id])
        self.assertEqual(1, len(cases))
        self.assertEqual(case1.case_id, cases[0].case_id)

        cases = CaseAccessorSQL.get_cases([case1.case_id, case2.case_id], ordered=True)
        self.assertEqual(2, len(cases))
        self.assertEqual(case1.case_id, cases[0].case_id)
        self.assertEqual(case2.case_id, cases[1].case_id)
开发者ID:saketkanth,项目名称:commcare-hq,代码行数:17,代码来源:test_case_dbaccessor.py

示例2: _diff_cases

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
    def _diff_cases(self, couch_cases):
        from corehq.apps.tzmigration.timezonemigration import json_diff
        self.log_debug('Calculating case diffs for {} cases'.format(len(couch_cases)))
        case_ids = list(couch_cases)
        sql_cases = CaseAccessorSQL.get_cases(case_ids)
        for sql_case in sql_cases:
            couch_case = couch_cases[sql_case.case_id]
            sql_case_json = sql_case.to_json()
            diffs = json_diff(couch_case, sql_case_json, track_list_indices=False)
            diffs = filter_case_diffs(
                couch_case, sql_case_json, diffs, self.forms_that_touch_cases_without_actions
            )
            if diffs and not sql_case.is_deleted:
                couch_case, diffs = self._rebuild_couch_case_and_re_diff(couch_case, sql_case_json)

            if diffs:
                self.diff_db.add_diffs(
                    couch_case['doc_type'], sql_case.case_id,
                    diffs
                )

        self._diff_ledgers(case_ids)

        self.processed_docs += len(case_ids)
        self._log_case_diff_count(throttled=True)
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:27,代码来源:couchsqlmigration.py

示例3: get_subcases

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
 def get_subcases(self, index_identifier=None):
     from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL
     subcase_ids = [
         ix.referenced_id for ix in self.reverse_indices
         if (index_identifier is None or ix.identifier == index_identifier)
     ]
     return list(CaseAccessorSQL.get_cases(subcase_ids))
开发者ID:saketkanth,项目名称:commcare-hq,代码行数:9,代码来源:models.py

示例4: handle

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
    def handle(self, domain, **options):
        debug = options.get('debug')
        domain = options.get('domain')
        case_ids = options.get('case_id')
        db = options.get('db')

        self.log_filename = 'undo_uuid_clash.{}.log'.format(datetime.utcnow().isoformat())
        print('\nWriting output to log file: {}\n'.format(self.log_filename))

        if case_ids:
            form_ids = set()
            for case in CaseAccessorSQL.get_cases(case_ids):
                assert not domain or case.domain == domain, 'Case "%s" not in domain "%s"' % (case.case_id, domain)
                form_ids.update(case.xform_ids)

            with self:
                check_and_process_forms(form_ids, self, debug)
        else:
            if domain:
                domains = [domain]
            else:
                domains = iter_domains()

            for domain in domains:
                print("Checking domain: %s" % domain)
                form_ids_to_check = set()
                dbs = [db] if db else get_db_aliases_for_partitioned_query()
                for dbname in dbs:
                    form_ids_to_check.update(
                        XFormInstanceSQL.objects.using(dbname)
                        .filter(domain=domain, state=XFormInstanceSQL.DEPRECATED)
                        .values_list('orig_id', flat=True)
                    )

                print('  Found %s forms to check' % len(form_ids_to_check))
                with self:
                    for chunk in chunked(form_ids_to_check, 500):
                        check_and_process_forms(chunk, self, debug)
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:40,代码来源:undo_uuid_clash.py

示例5: get_supply_points

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
 def get_supply_points(supply_point_ids):
     return list(CaseAccessorSQL.get_cases(supply_point_ids))
开发者ID:saketkanth,项目名称:commcare-hq,代码行数:4,代码来源:supply.py

示例6: _iter_cases

# 需要导入模块: from corehq.form_processor.backends.sql.dbaccessors import CaseAccessorSQL [as 别名]
# 或者: from corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL import get_cases [as 别名]
 def _iter_cases(self, case_ids):
     return iter(CaseAccessorSQL.get_cases(case_ids))
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:4,代码来源:casedb.py


注:本文中的corehq.form_processor.backends.sql.dbaccessors.CaseAccessorSQL.get_cases方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。