Files
classquiz-ai/import_to_meili.py
T
2022-07-02 17:20:55 +02:00

32 lines
1.1 KiB
Python

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/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__())