Skip to content

Commit 4d47197

Browse files
authored
Makefile: Use uv + do not fail if the admin user already exists + make load_tree and load_courses optional (#368)
1 parent b622061 commit 4d47197

1 file changed

Lines changed: 23 additions & 9 deletions

File tree

Makefile

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,34 @@
11
PY=uv run
22

3-
init: database
3+
.PHONY: init database
44

5+
init: database
56

67
database:
78
$(PY) manage.py migrate -v 0
9+
@echo "Creating root category (ULB)"
10+
@echo "from catalog.models import Category; Category.objects.get_or_create(slug='ULB', defaults={'name': 'ULB'})" | $(PY) manage.py shell > /dev/null
811
@echo "Creating user ${USER} with password 'test'"
9-
@echo "from users.models import User; u=User.objects.get_or_create(netid='${USER}', first_name='Gaston', last_name='Lagaffe', email='${USER}@fake.ulb.ac.be'); u[0].set_password('test'); u[0].save()" | $(PY) manage.py shell > /dev/null
10-
12+
@echo "from users.models import User; u, _ = User.objects.get_or_create(netid='${USER}', defaults={'first_name': 'Gaston', 'last_name': 'Lagaffe', 'email': '${USER}@fake.ulb.ac.be'}); u.set_password('test'); u.is_moderator=True; u.save()" | $(PY) manage.py shell > /dev/null
1113
@echo "Creating user blabevue with password 'test'"
12-
@echo "from users.models import User; u=User.objects.get_or_create(netid='blabevue', first_name='Bertrand', last_name='Labevue', email='blabevue@fake.ulb.ac.be'); u[0].set_password('test'); u[0].save()" | $(PY) manage.py shell > /dev/null
13-
14+
@echo "from users.models import User; u, _ = User.objects.get_or_create(netid='blabevue', defaults={'first_name': 'Bertrand', 'last_name': 'Labevue', 'email': 'blabevue@fake.ulb.ac.be'}); u.set_password('test'); u.save()" | $(PY) manage.py shell > /dev/null
1415
@echo "Creating some tags"
15-
@echo "[__import__('tags').models.Tag.objects.create(name=x) for x in ('syllabus', 'officiel', 'examen', 'resume', 'synthese', 'notes')]" | $(PY) manage.py shell > /dev/null
16+
@echo "from tags.models import Tag; [Tag.objects.get_or_create(name=x) for x in ('syllabus', 'officiel', 'examen', 'resume', 'synthese', 'notes')]" | $(PY) manage.py shell > /dev/null
17+
18+
@echo "Loading tree and courses..."
19+
@if [ -f "csv/programs.json" ]; then \
20+
$(PY) manage.py load_tree; \
21+
else \
22+
echo "Warning: csv/programs.json not found, skipping load_tree"; \
23+
fi
24+
25+
@if [ -f "csv/courses.json" ]; then \
26+
$(PY) manage.py load_courses; \
27+
else \
28+
echo "Warning: csv/courses.json not found, skipping load_courses"; \
29+
fi
1630

17-
@echo "Adding some fake document"
31+
@echo "Adding some fake documents"
1832
$(PY) manage.py create_fake_doc
19-
20-
@echo "Your DB should be ready now. Run the server with ./manage.py runserver"
33+
@echo ""
34+
@echo "Done! Run: uv run python manage.py runserver"

0 commit comments

Comments
 (0)