Init moonworm cli draft.

pull/481/head
Andrey Dolgolev 2021-12-12 12:08:15 +02:00
rodzic cc5532370a
commit d1c05c9030
2 zmienionych plików z 78 dodań i 1 usunięć

Wyświetl plik

@ -8,6 +8,7 @@ import json
import os
from posix import listdir
from typing import Optional
from moonstreamapi.providers import moonworm_provider
from moonstreamdb.db import SessionLocal
@ -15,7 +16,7 @@ from sqlalchemy.orm import with_expression
from ..settings import BUGOUT_BROOD_URL, BUGOUT_SPIRE_URL, MOONSTREAM_APPLICATION_ID
from ..web3_provider import yield_web3_provider
from . import subscription_types, subscriptions
from . import subscription_types, subscriptions, moonworm_tasks
from .migrations import checksum_address
logging.basicConfig(level=logging.INFO)
@ -115,6 +116,16 @@ def migrations_run(args: argparse.Namespace) -> None:
db_session.close()
def moonworm_tasks_list_handler(args: argparse.Namespace) -> None:
moonworm_tasks.get_list_of_tags(args.query, args.tag)
def moonworm_tasks_add_subscription_handler(args: argparse.Namespace) -> None:
moonworm_tasks.add_subscription(args.id)
def main() -> None:
cli_description = f"""Moonstream Admin CLI
@ -335,6 +346,49 @@ This CLI is configured to work with the following API URLs:
)
parser_migrations_run.set_defaults(func=migrations_run)
parser_moonworm_tasks = subcommands.add_parser(
"moonworm-tasks", description="Manage tasks for moonworm journal."
)
parser_moonworm_tasks.set_defaults(func=lambda _: parser_migrations.print_help())
subcommands_moonworm_tasks = parser_moonworm_tasks.add_subparsers(
description="Moonworm taks commands"
)
parser_moonworm_tasks_list = subcommands_moonworm_tasks.add_parser(
"list", description="Return list of addresses in moonworm journal."
)
parser_moonworm_tasks_list.add_argument(
"-q",
"--query",
type=str,
help="query filter.",
)
parser_moonworm_tasks_list.add_argument(
"-t",
"--tag",
default="address",
choices=["address"],
type=str,
help="Tag for wich we fetch and return values.",
)
parser_moonworm_tasks.set_defaults(func=moonworm_list_handler)
parser_moonworm_tasks_add = subcommands_moonworm_tasks.add_parser(
"add_subscription", description="Manage tasks for moonworm journal."
)
parser_moonworm_tasks_add.add_argument(
"-i",
"--id",
type=str,
help="Id of subscription for add to moonworm tasks.",
)
parser_moonworm_tasks.set_defaults(func=moonworm_task)
args = parser.parse_args()
args.func(args)

Wyświetl plik

@ -0,0 +1,23 @@
import logging
from ..settings import BUGOUT_REQUEST_TIMEOUT_SECONDS, MOONSTREAM_ADMIN_ACCESS_TOKEN,
from ..settings import bugout_client as bc
logger = logging.getLogger(__name__)
def get_list_of_tags(query: str, tag: str):
"""
Return list of tags depends on query and tag
"""
existing_metods = bc.search(
token=MOONSTREAM_ADMIN_ACCESS_TOKEN,
journal_id=journal_id,
query=search_query,
content=False,
timeout=10.0,
limit=limit,
offset=offset,
)