本文整理汇总了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)
示例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)
示例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))
示例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)
示例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))
示例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))