def getcompletestats(self): if self.is_template_project: return empty_completestats file_result = completestatssum(self.child_stores.iterator()) dir_result = completestatssum(self.child_dirs.iterator()) stats = dictsum(file_result, dir_result) return stats
def getcompletestats(self): if self.is_template_project: return empty_completestats file_result = completestatssum(self.child_stores.iterator()) dir_result = completestatssum(self.child_dirs.iterator()) stats = {} for cat in set(file_result)|set(dir_result): stats[cat] = dictsum(file_result.get(cat, {}), dir_result.get(cat, {})) return stats
def get_failing_checks_for_path(self, pootle_path): """Return a failed quality checks list sorted by importance. :param pootle_path: A string with a valid pootle path. """ checks = [] path_stats = self.get_raw_stats_for_path(pootle_path) goal_stores_for_path = self.get_stores_for_path(pootle_path) property_stats = completestatssum(goal_stores_for_path) total = path_stats['total']['units'] keys = property_stats.keys() keys.sort(reverse=True) for i, category in enumerate(keys): checks.append({ 'checks': [] }) if category != Category.NO_CATEGORY: checks[i].update({ 'name': category, 'display_name': unicode(category_names[category]), }) cat_keys = property_stats[category].keys() cat_keys.sort() for checkname in cat_keys: checkcount = property_stats[category][checkname] if total and checkcount: check_display = unicode(check_names.get(checkname, checkname)) check = { 'name': checkname, 'display_name': check_display, 'count': checkcount, } checks[i]['checks'].append(check) return checks