def get_case(self, case_id): try: return CaseAccessorSQL.get_case(case_id) except CaseNotFound: pass try: return CaseAccessorCouch.get_case(case_id) except ResourceNotFound: pass return None
def filter_closed_extensions(self, extensions_to_close): # filter out cases that are closed which we already have cached extensions_to_close = [ case_id for case_id in extensions_to_close if case_id not in self.cache or not self.cache[case_id].closed ] if extensions_to_close: # filter out any other cases that are already closed (or deleted) closed_deleted = [ case_id for case_id, _, _ in CaseAccessorCouch.get_closed_and_deleted_ids(self.domain, extensions_to_close) ] extensions_to_close = [case_id for case_id in extensions_to_close if case_id not in closed_deleted] return extensions_to_close
def get_couch_case(case_id): return CaseAccessorCouch.get_case(case_id)
def get_reverse_indexed_cases(self, case_ids, case_types=None, is_closed=None): return CaseAccessorCouch.get_reverse_indexed_cases( self.domain, case_ids, case_types=case_types, is_closed=is_closed)
def case_exists(case_id): return CaseAccessorCouch.case_exists(case_id)
kw.setdefault("diffs", IGNORE) return super().do_migration(*args, **kw) def do_case_diffs(self, cases=None, stop=False): self.migration_success = True # clear migration failure on diff cases migrator = mod.get_migrator(self.domain_name, self.state_dir) return mod.do_case_diffs(migrator, cases, stop=stop, batch_size=100) def do_case_patch(self, cases=None, stop=False): self.migration_success = True # clear migration failure on diff cases migrator = mod.get_migrator(self.domain_name, self.state_dir) return mod.do_case_patch(migrator, cases, stop=stop, batch_size=100) @contextmanager def augmented_couch_case(self, case_id): case = CaseAccessorCouch.get_case(case_id) with self.diff_without_rebuild(): yield case def assert_patched_cases(self, case_ids=None): statedb = open_state_db(self.domain_name, self.state_dir) self.assertEqual(list(statedb.iter_patched_case_ids()), case_ids or []) self.assertFalse(list(statedb.iter_undiffed_case_ids())) THING_FORM = """ <?xml version="1.0" ?> <data name="Thing" uiVersion="1" version="11"
def get_reverse_indexed_cases(self, case_ids, case_types=None, is_closed=None): return CaseAccessorCouch.get_reverse_indexed_cases(self.domain, case_ids, case_types=case_types, is_closed=is_closed)
def case_exists(case_id): return CaseAccessorCouch.case_exists(case_id)