def get_calculation(owner_ids, slug): from bihar.models import CareBiharFluff r = CareBiharFluff.aggregate_results(slug, ( ['care-bihar', owner_id] for owner_id in owner_ids ), reduce=True) num = r.get('numerator') total = r.get('total') r = CareBiharFluff.aggregate_results(slug, ( ['care-bihar', owner_id] for owner_id in owner_ids ), reduce=False) num_cases = ', '.join(r.get('numerator', ())) total_cases = ', '.join(r.get('total', ())) return num or '', total, num_cases, total_cases
def __init__(self, spec): self.slug = spec["slug"] self.name = spec["name"] display = spec["clientlistdisplay"] kwargs = spec.get("kwargs", {}) self._display = display(**kwargs) self.fluff_calculator = CareBiharFluff.get_calculator(self.slug)