kopia lustrzana https://github.com/bugout-dev/moonstream
Replace billing to usage.
rodzic
f9258b2eee
commit
cc5791578d
|
@ -1,6 +1,7 @@
|
||||||
"""
|
"""
|
||||||
Moonstream CLI
|
Moonstream CLI
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
@ -20,7 +21,7 @@ from ..settings import (
|
||||||
)
|
)
|
||||||
from ..web3_provider import yield_web3_provider
|
from ..web3_provider import yield_web3_provider
|
||||||
|
|
||||||
from . import subscription_types, subscriptions, moonworm_tasks, queries, billing
|
from . import subscription_types, subscriptions, moonworm_tasks, queries, usage
|
||||||
from .migrations import (
|
from .migrations import (
|
||||||
checksum_address,
|
checksum_address,
|
||||||
update_dashboard_subscription_key,
|
update_dashboard_subscription_key,
|
||||||
|
@ -257,8 +258,8 @@ def moonworm_tasks_add_subscription_handler(args: argparse.Namespace) -> None:
|
||||||
moonworm_tasks.add_subscription(args.id)
|
moonworm_tasks.add_subscription(args.id)
|
||||||
|
|
||||||
|
|
||||||
def generate_billing_handler(args: argparse.Namespace) -> None:
|
def generate_usage_handler(args: argparse.Namespace) -> None:
|
||||||
billing_info = billing.collect_billing_information(
|
usage_info = usage.collect_usage_information(
|
||||||
month=args.month,
|
month=args.month,
|
||||||
user_id=args.user_id,
|
user_id=args.user_id,
|
||||||
contracts=args.contracts,
|
contracts=args.contracts,
|
||||||
|
@ -271,9 +272,9 @@ def generate_billing_handler(args: argparse.Namespace) -> None:
|
||||||
os.makedirs(os.path.dirname(args.output))
|
os.makedirs(os.path.dirname(args.output))
|
||||||
|
|
||||||
with open(args.output, "w") as output_file:
|
with open(args.output, "w") as output_file:
|
||||||
output_file.write(json.dumps(billing_info, indent=4))
|
output_file.write(json.dumps(usage_info, indent=4))
|
||||||
else:
|
else:
|
||||||
logger.info(json.dumps(billing_info, indent=4))
|
logger.info(json.dumps(usage_info, indent=4))
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
|
@ -552,46 +553,46 @@ This CLI is configured to work with the following API URLs:
|
||||||
)
|
)
|
||||||
create_query_parser.set_defaults(func=queries.create_query_template)
|
create_query_parser.set_defaults(func=queries.create_query_template)
|
||||||
|
|
||||||
billing_parser = subcommands.add_parser(
|
usage_parser = subcommands.add_parser(
|
||||||
"usage", description="Manage Moonstream billing"
|
"usage", description="Manage Moonstream usage"
|
||||||
)
|
)
|
||||||
|
|
||||||
billing_parser.set_defaults(func=lambda _: billing_parser.print_help())
|
usage_parser.set_defaults(func=lambda _: usage_parser.print_help())
|
||||||
|
|
||||||
billing_subcommands = billing_parser.add_subparsers(description="Billing commands")
|
usage_subcommands = usage_parser.add_subparsers(description="Usage commands")
|
||||||
|
|
||||||
generate_billing_parser = billing_subcommands.add_parser(
|
generate_usage_parser = usage_subcommands.add_parser(
|
||||||
"generate", description="Generate billing"
|
"generate", description="Generate usage"
|
||||||
)
|
)
|
||||||
|
|
||||||
generate_billing_parser.add_argument(
|
generate_usage_parser.add_argument(
|
||||||
"--month",
|
"--month",
|
||||||
required=True,
|
required=True,
|
||||||
type=str,
|
type=str,
|
||||||
help="Month for which to generate billing in YYYY-MM format (e.g. 2021-10)",
|
help="Month for which to generate usage in YYYY-MM format (e.g. 2021-10)",
|
||||||
)
|
)
|
||||||
|
|
||||||
generate_billing_parser.add_argument(
|
generate_usage_parser.add_argument(
|
||||||
"--user-id",
|
"--user-id",
|
||||||
required=False,
|
required=False,
|
||||||
type=str,
|
type=str,
|
||||||
help="User token for which to generate billing (not implemented yet - use user-token instead)",
|
help="User token for which to generate usage (not implemented yet - use user-token instead)",
|
||||||
)
|
)
|
||||||
generate_billing_parser.add_argument(
|
generate_usage_parser.add_argument(
|
||||||
"--contracts",
|
"--contracts",
|
||||||
required=False,
|
required=False,
|
||||||
type=json.loads,
|
type=json.loads,
|
||||||
help="Contracts for which to generate billing Json format( { 'blockchain': ['contract_address',...] })",
|
help="Contracts for which to generate usage Json format( { 'blockchain': ['contract_address',...] })",
|
||||||
)
|
)
|
||||||
|
|
||||||
generate_billing_parser.add_argument(
|
generate_usage_parser.add_argument(
|
||||||
"--output",
|
"--output",
|
||||||
required=False,
|
required=False,
|
||||||
type=str,
|
type=str,
|
||||||
help="Output file for billing",
|
help="Output file for usage",
|
||||||
)
|
)
|
||||||
|
|
||||||
generate_billing_parser.set_defaults(func=generate_billing_handler)
|
generate_usage_parser.set_defaults(func=generate_usage_handler)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
args.func(args)
|
args.func(args)
|
||||||
|
|
|
@ -139,7 +139,7 @@ def generate_leaderboard_owners(
|
||||||
return leaderboard_owners
|
return leaderboard_owners
|
||||||
|
|
||||||
|
|
||||||
def collect_billing_information(
|
def collect_usage_information(
|
||||||
month: str,
|
month: str,
|
||||||
user_id: Optional[str] = None,
|
user_id: Optional[str] = None,
|
||||||
contracts: Optional[Dict[str, List[str]]] = None,
|
contracts: Optional[Dict[str, List[str]]] = None,
|
Ładowanie…
Reference in New Issue