53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
from .models.module import Module, ModuleCategory, ModuleType
|
||
|
||
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_categories():
|
||
for lehrjahr in range(1,4):
|
||
module_category, created = ModuleCategory.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
||
|
||
for type in range(1, 10):
|
||
ModuleType.objects.get_or_create(name=f"Lernfeld {type}")
|
||
|
||
|
||
def categorize_modules():
|
||
for category in ModuleCategory.objects.all():
|
||
modules = Module.objects.filter(category__isnull=True, meta_title__icontains=category.name)
|
||
print(f"{category.name}: {modules.count()}")
|
||
modules.update(category=category)
|
||
|
||
for type in ModuleType.objects.all():
|
||
modules = Module.objects.filter(category_type__isnull=True, meta_title__contains=type.name)
|
||
print(f"{type.name}: {modules.count()}")
|
||
modules.update(category_type=type)
|
||
|
||
|
||
def uncategorize_modules():
|
||
ModuleType.objects.all().delete()
|
||
ModuleCategory.objects.all().delete()
|
||
|
||
def delete_unused_categories():
|
||
for category in ModuleCategory.objects.all():
|
||
if not category.module_set.exists():
|
||
category.delete()
|
||
|
||
def delete_unused_types():
|
||
for type in ModuleType.objects.all():
|
||
if not type.module_set.exists():
|
||
type.delete()
|