Add filter_attribute_type (all / exact)
This commit is contained in:
parent
8444a48c26
commit
44f20c102b
|
|
@ -1,3 +1,4 @@
|
|||
from users.models import User
|
||||
from .models.module import Module, ModuleLevel, ModuleCategory
|
||||
|
||||
def analyze_module_meta_titles():
|
||||
|
|
@ -17,10 +18,15 @@ def analyze_module_meta_titles():
|
|||
print(f"{i}.: {set(leafs)}")
|
||||
|
||||
|
||||
def create_default_levcels_and_categories():
|
||||
def create_default_levels_and_categories():
|
||||
ModuleLevel.objects.get_or_create(name=f"Alle Lehrjahre", filter_attribute_type="all")
|
||||
|
||||
for lehrjahr in range(1,4):
|
||||
module_category, created = ModuleLevel.objects.get_or_create(name=f"{lehrjahr}. Lehrjahr")
|
||||
|
||||
|
||||
ModuleCategory.objects.get_or_create(name=f"Alle Lernfelder", filter_attribute_type="all")
|
||||
|
||||
for category in range(1, 10):
|
||||
ModuleCategory.objects.get_or_create(name=f"Lernfeld {category}")
|
||||
|
||||
|
|
@ -32,21 +38,23 @@ def categorize_modules():
|
|||
modules.update(level=level)
|
||||
|
||||
for category in ModuleCategory.objects.all():
|
||||
modules = Module.objects.filter(category__isnull=True, meta_title__contains=type.name)
|
||||
modules = Module.objects.filter(category__isnull=True, meta_title__contains=category.name)
|
||||
print(f"{category.name}: {modules.count()}")
|
||||
modules.update(category=category)
|
||||
|
||||
|
||||
def uncategorize_modules():
|
||||
User.objects.all().update(last_module_level=None)
|
||||
#
|
||||
ModuleCategory.objects.all().delete()
|
||||
ModuleLevel.objects.all().delete()
|
||||
|
||||
def delete_unused_levels():
|
||||
for level in ModuleLevel.objects.all():
|
||||
for level in ModuleLevel.objects.filter(filter_attribute_type="exact"):
|
||||
if not level.module_set.exists():
|
||||
level.delete()
|
||||
|
||||
def delete_unused_categories():
|
||||
for category in ModuleCategory.objects.all():
|
||||
for category in ModuleCategory.objects.filter(filter_attribute_type="exact"):
|
||||
if not category.module_set.exists():
|
||||
category.delete()
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
from django.core.management import BaseCommand
|
||||
from books.categorize_modules import categorize_modules, delete_unused_levels, uncategorize_modules, \
|
||||
delete_unused_categories
|
||||
from books.categorize_modules import create_default_levcels_and_categories
|
||||
from books.categorize_modules import create_default_levels_and_categories
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def handle(self, *args, **options):
|
||||
self.stdout.write("Categorizing modules")
|
||||
uncategorize_modules()
|
||||
create_default_levcels_and_categories()
|
||||
create_default_levels_and_categories()
|
||||
categorize_modules()
|
||||
delete_unused_levels()
|
||||
delete_unused_categories()
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
from django.core.management import BaseCommand
|
||||
from books.categorize_modules import categorize_modules, create_default_levcels_and_categories
|
||||
from books.categorize_modules import categorize_modules, create_default_levels_and_categories
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def handle(self, *args, **options):
|
||||
self.stdout.write("Create defaut categories")
|
||||
create_default_levcels_and_categories()
|
||||
create_default_levels_and_categories()
|
||||
self.stdout.write("Finish")
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue