def handle(self, *args, **options): domain, group_name = args group = Group.by_name(domain, name=group_name) owner_ids = get_all_owner_ids_from_group(group) pillow = CareBiharFluffPillow() db = CommCareCase.get_db() greenlets = [] def process_case(case): pillow.change_transport(pillow.change_transform(case)) for i, owner_id in enumerate(owner_ids): print '{0}/{1} owner_ids'.format(i, len(owner_ids)) rows = CommCareCase.view( 'hqcase/by_owner', startkey=[domain, owner_id], endkey=[domain, owner_id, {}], reduce=False, ).all() case_ids = [row['id'] for row in rows] print '{0} case_ids'.format(len(case_ids)) for case in iter_docs(db, case_ids): g = gevent.Greenlet.spawn(process_case, case) greenlets.append(g) gevent.joinall(greenlets)
def handle(self, *args, **options): domain, group_name = args group = Group.by_name(domain, name=group_name) owner_ids = get_all_owner_ids_from_group(group) pillow = CareBiharFluffPillow() db = CommCareCase.get_db() greenlets = [] def process_case(case): pillow.change_transport(pillow.change_transform(case)) for i, owner_id in enumerate(owner_ids): print '{0}/{1} owner_ids'.format(i, len(owner_ids)) rows = CommCareCase.view( 'hqcase/by_owner', startkey=[domain, owner_id], endkey=[domain, owner_id, {}], reduce=False, ).all() case_ids = [row['id'] for row in rows] print '{0} case_ids'.format(len(case_ids)) for case in iter_docs(db, case_ids): g = gevent.Greenlet.spawn(process_case, case) greenlets.append(g) gevent.joinall(greenlets)
def handle(self, *args, **options): args = list(args) domain = args.pop(0) group_id_or_name = args.pop(0) slugs = args.pop(0) if args else None try: group = Group.get(group_id_or_name) assert group.domain == domain except ResourceNotFound: group = Group.by_name(domain, group_id_or_name) owner_ids = get_all_owner_ids_from_group(group) if slugs: lines = [(slug,) + get_calculation(owner_ids, slug) for slug in slugs.split(' ')] else: lines = get_all_calculations(owner_ids) for line in lines: print '\t'.join(map(unicode, line))
def handle(self, *args, **options): args = list(args) domain = args.pop(0) group_id_or_name = args.pop(0) slugs = args.pop(0) if args else None try: group = Group.get(group_id_or_name) assert group.domain == domain except ResourceNotFound: group = Group.by_name(domain, group_id_or_name) owner_ids = get_all_owner_ids_from_group(group) if slugs: lines = [(slug, ) + get_calculation(owner_ids, slug) for slug in slugs.split(' ')] else: lines = get_all_calculations(owner_ids) for line in lines: print '\t'.join(map(unicode, line))
def all_owner_ids(self): return get_all_owner_ids_from_group(self.group)
def all_owner_ids(self): return get_all_owner_ids_from_group(self.group)