From 5819130056e464a83ecaa11c9c31adcf02a87b16 Mon Sep 17 00:00:00 2001 From: Remi PLANEL <rplanel@pasteur.fr> Date: Mon, 12 Feb 2024 09:15:20 +0100 Subject: [PATCH] update package to load articles in ms --- .../df_wiki_cli/meilisearch/__init__.py | 23 +++++++++++++++++++ .../df_wiki_cli/meilisearch/main.py | 10 +++++++- packages/df-wiki-cli/pyproject.toml | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py index 3479787c..e1ab6dec 100644 --- a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py +++ b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py @@ -237,6 +237,29 @@ def update_systems( index.update_typo_tolerance({"enabled": False}) +def update_articles( + host: str, + key: str, + file: Path, + document: str, +): + client = meilisearch.Client(host, key) + index = client.index(document.lower()) + with open(file, "r") as jsonfile: + json_object = json.load(jsonfile) + for obj in json_object: + obj["ms_id"] = obj["id"].replace("/", "_") + tasks = index.add_documents_in_batches(json_object, primary_key="ms_id") + for task in tasks: + print(task) + + pagination_settings_task = index.update_pagination_settings( + {"maxTotalHits": 100000} + ) + print(pagination_settings_task) + + + def split_on_comma(str_val: str) -> List[str]: for val in str_val.split(","): yield val.strip() diff --git a/packages/df-wiki-cli/df_wiki_cli/meilisearch/main.py b/packages/df-wiki-cli/df_wiki_cli/meilisearch/main.py index e7e30377..304a0d12 100644 --- a/packages/df-wiki-cli/df_wiki_cli/meilisearch/main.py +++ b/packages/df-wiki-cli/df_wiki_cli/meilisearch/main.py @@ -2,7 +2,12 @@ import typer import meilisearch from typing_extensions import Annotated from pathlib import Path -from df_wiki_cli.meilisearch import update_refseq, update_structure, update_systems +from df_wiki_cli.meilisearch import ( + update_articles, + update_refseq, + update_structure, + update_systems, +) from enum import Enum from types import SimpleNamespace from rich.console import Console @@ -17,6 +22,7 @@ class Documents(str, Enum): refseq = "refseq" structure = "structure" systems = "systems" + article = "article" @app.callback() @@ -61,6 +67,8 @@ def update( update_structure(ctx.obj.host, ctx.obj.key, file, document) if document == "systems": update_systems(ctx.obj.host, ctx.obj.key, file, document) + if document == "article": + update_articles(ctx.obj.host, ctx.obj.key, file, document) @app.command() diff --git a/packages/df-wiki-cli/pyproject.toml b/packages/df-wiki-cli/pyproject.toml index 22f5ffe8..e5ce2d86 100644 --- a/packages/df-wiki-cli/pyproject.toml +++ b/packages/df-wiki-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "df-wiki-cli" -version = "0.1.5" +version = "0.1.6" description = "" authors = ["Remi PLANEL <rplanel@pasteur.fr>"] readme = "README.md" -- GitLab