kopia lustrzana https://github.com/bugout-dev/moonstream
Init moonworm cli draft.
rodzic
cc5532370a
commit
d1c05c9030
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
Ładowanie…
Reference in New Issue