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 3479787cd2b5187332b02065e26547b9b5854ccd..e1ab6dec37b5f4320011338625d0a917b74d3b2a 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 e7e3037766ce72d268bfdae830e4e52de3d34b03..304a0d126088a6de6ef3575f109bf04fc597074e 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 22f5ffe80cd5293c84c985efe6daf7e7e3c715e5..e5ce2d86cde0fedd6cdda7519108d7763ec46848 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"