32 lines
966 B
Python
32 lines
966 B
Python
# SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
|
#
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
import meilisearch
|
|
from classquiz.db import database
|
|
from classquiz.db.models import Quiz
|
|
from classquiz.helpers import get_meili_data
|
|
from classquiz.config import settings
|
|
from asyncio import run
|
|
|
|
settings = settings()
|
|
|
|
|
|
async def __main__():
|
|
if not database.is_connected:
|
|
await database.connect()
|
|
meili_data = []
|
|
quizzes = await Quiz.objects.filter(public=True).all()
|
|
for quiz in quizzes:
|
|
meili_data.append(await get_meili_data(quiz))
|
|
print(len(meili_data))
|
|
client = meilisearch.Client(settings.meilisearch_url)
|
|
client.delete_index(settings.meilisearch_index)
|
|
client.create_index(settings.meilisearch_index)
|
|
client.index(settings.meilisearch_index).add_documents(meili_data)
|
|
client.index(settings.meilisearch_index).update_settings({"sortableAttributes": ["created_at"]})
|
|
|
|
|
|
if __name__ == "__main__":
|
|
run(__main__())
|