Esempio n. 1
0
def prepare_metadata(doc_ids_by_domain):
    domain_id_rev_list = []
    for domain, all_doc_ids in doc_ids_by_domain.items():
        for doc_ids in chunked(all_doc_ids, 500):
            doc_id_rev_list = bulk_get_revs(XFormInstance.get_db(), doc_ids)
            assert len(doc_id_rev_list) == len(doc_ids)
            domain_id_rev_list.extend([[domain, doc_id, doc_rev]
                                       for doc_id, doc_rev in doc_id_rev_list])
    return domain_id_rev_list
Esempio n. 2
0
def _get_changes(domain, doc_ids):
    c = []
    for ids in chunked(doc_ids, 500):
        doc_id_rev_list = {r[0]: r[1] for r in
                           bulk_get_revs(XFormInstance.get_db(), ids)}
        changes = [
            _change_from_meta(
                create_form_change_meta(domain, doc_id, doc_id_rev_list[doc_id])
            )
            for doc_id in ids
        ]
        c.extend(changes)
    return c
def _publish_cases_for_couch(domain, case_ids):
    for ids in chunked(case_ids, 500):
        doc_id_rev_list = bulk_get_revs(CommCareCase.get_db(), ids)
        for doc_id, doc_rev in doc_id_rev_list:
            publish_change(create_case_change_meta(domain, doc_id, doc_rev))
def _publish_docs_for_couch(doc_cls, get_meta, domain, records):
    doc_ids = [r.doc_id for r in records]
    for ids in chunked(doc_ids, 500):
        doc_id_rev_list = bulk_get_revs(doc_cls.get_db(), ids)
        for doc_id, doc_rev in doc_id_rev_list:
            publish_change(get_meta(domain, doc_id, doc_rev))