from .models.module import Module, ModuleLevel, ModuleCategory def analyze_module_meta_titles(): all_nodes = [] for module in Module.objects.all(): print(f"{module.get_parent() } {module.meta_title} : {module.title}") nodes = [i.strip() for i in [module.get_parent().title] + module.meta_title.split(' – ')] all_nodes.append(nodes) print("") for i in range(3): leafs = [node[i] for node in all_nodes if len(node) > i+1] leafs.sort() print(f"{i}.: {set(leafs)}") def create_default_levcels_and_categories(): for lehrjahr in range(1,4): module_category, created = ModuleLevel.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr") for category in range(1, 10): ModuleCategory.objects.get_or_create(name=f"Lernfeld {category}") def categorize_modules(): for level in ModuleLevel.objects.all(): modules = Module.objects.filter(level__isnull=True, meta_title__icontains=level.name) print(f"{level.name}: {modules.count()}") modules.update(level=level) for category in ModuleCategory.objects.all(): modules = Module.objects.filter(category__isnull=True, meta_title__contains=type.name) print(f"{category.name}: {modules.count()}") modules.update(category=category) def uncategorize_modules(): ModuleCategory.objects.all().delete() ModuleLevel.objects.all().delete() def delete_unused_levels(): for level in ModuleLevel.objects.all(): if not level.module_set.exists(): level.delete() def delete_unused_categories(): for category in ModuleCategory.objects.all(): if not category.module_set.exists(): category.delete()