(indicator_def['type'], indicator_def['description'], value, numerator, denominator)) print (indicator_def['type'], indicator_def['name'], value, numerator, denominator) filename = "%(name)s_mvp_indicator_%(start)s_to_%(end)s.csv" % { 'name': name, 'start': period.start.strftime('%Y-%m-%d'), 'end': period.end.strftime('%Y-%m-%d')} filename = os.path.join(REPORTS_DIR, filename) with open(filename, 'wb') as f: csv_writer = csv.writer( f, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) csv_writer.writerows(RESULTS) print "\nSuccessfully generated %s." % filename if __name__ == '__main__': arguments = sys.argv[1:] if len(arguments) < 3: print (u"Expected site_name YEAR MONTH\n" u"Eg.\n\t python report.py ruhiira 2013 03") else: name = arguments[0] year = int(arguments[1]) month = int(arguments[2]) period = Period.month_period(year, month) indicator_name = None if arguments.__len__() > 3: indicator_name = arguments[3] _generate_indicator_export(name, period, indicator_name)
""" query_str = """ {"{{dataset_id_field}}": "{{dataset.dataset_id}}", "{{form_meta_timeend}}": { "$gte": "{{period.start}}", "$lte": "{{period.end}}" } } """ aggregate_str = """ {"$group": {"_id": 0, "total": {"$sum": "$value.{{num_using_fp}}"}}} """ dataset_id = "5791793ac29b4d77b20cf1a04d8e7161" dataset = Dataset.find_one(dataset_id) period = Period.month_period(2013, 3) if dataset: fields = Observation.encoding(dataset) fields["dataset"] = dataset fields['dataset_id_field'] = fields[DATASET_ID] fields['period'] = Period.month_period(2013, 3) mapper = Code(Template(mapper_str).render(fields)) reducer = Code(Template(reducer_str).render(fields)) query = json.loads(Template(query_str).render(fields)) query['%(form_meta_timeend)s' % fields]['$gte'] = period.start query['%(form_meta_timeend)s' % fields]['$lte'] = period.end aggregate = json.loads(Template(aggregate_str).render(fields)) results = db.observations.map_reduce(mapper, reducer, 'myresults_fp',
""" query_str = """ {"{{dataset_id_field}}": "{{dataset.dataset_id}}", "{{form_meta_timeend}}": { "$gte": "{{period.start}}", "$lte": "{{period.end}}" } } """ aggregate_str = """ {"$group": {"_id": 0, "total": {"$sum": "$value.{{num_using_fp}}"}}} """ dataset_id = "5791793ac29b4d77b20cf1a04d8e7161" dataset = Dataset.find_one(dataset_id) period = Period.month_period(2013, 3) if dataset: fields = Observation.encoding(dataset) fields["dataset"] = dataset fields['dataset_id_field'] = fields[DATASET_ID] fields['period'] = Period.month_period(2013, 3) mapper = Code(Template(mapper_str).render(fields)) reducer = Code(Template(reducer_str).render(fields)) query = json.loads(Template(query_str).render(fields)) query['%(form_meta_timeend)s' % fields]['$gte'] = period.start query['%(form_meta_timeend)s' % fields]['$lte'] = period.end aggregate = json.loads(Template(aggregate_str).render(fields)) results = db.observations.map_reduce(mapper, reducer, 'myresults_fp', query=query) if results.count(): value = results.aggregate(aggregate)