def generate_metrics(root, year, month): contenttype = metrics.collect_contenttype_metrics(root, year, month) profiles = metrics.collect_profile_metrics(root, year, month) users = metrics.collect_user_metrics(root, year, month) communities = metrics.collect_community_metrics(root, year, month) metrics_folder = find_or_create_metrics_container(root) year_folder = metrics_folder.get(str(year), None) if year_folder is None: year_folder = Folder() alsoProvides(year_folder, IMetricsYearFolder) metrics_folder[str(year)] = year_folder month_folder = year_folder.get(month_string(month), None) if month_folder is None: month_folder = Folder() alsoProvides(month_folder, IMetricsMonthFolder) year_folder[month_string(month)] = month_folder month_folder.contenttypes = OOBTree(contenttype) month_folder.profiles = OOBTree(profiles) month_folder.users = OOBTree(users) month_folder.communities = OOBTree(communities)