kopia lustrzana https://github.com/bugout-dev/moonstream
Add changes and logger messages.
rodzic
cc5791578d
commit
6923754115
|
@ -5,6 +5,7 @@ import logging
|
||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
import requests # type: ignore
|
import requests # type: ignore
|
||||||
|
import os
|
||||||
|
|
||||||
from ..actions import get_all_entries_from_search
|
from ..actions import get_all_entries_from_search
|
||||||
from ..settings import bugout_client as bc
|
from ..settings import bugout_client as bc
|
||||||
|
@ -113,7 +114,6 @@ def generate_leaderboard_owners(
|
||||||
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
||||||
)
|
)
|
||||||
|
|
||||||
print(holders.holders)
|
|
||||||
try:
|
try:
|
||||||
owner = [
|
owner = [
|
||||||
holder.id
|
holder.id
|
||||||
|
@ -169,7 +169,9 @@ def collect_usage_information(
|
||||||
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
||||||
)
|
)
|
||||||
|
|
||||||
print(subscription_resources.resources)
|
logger.info(
|
||||||
|
"Found users collection resources: %s", len(subscription_resources.resources)
|
||||||
|
)
|
||||||
|
|
||||||
if len(subscription_resources.resources) == 0:
|
if len(subscription_resources.resources) == 0:
|
||||||
subscription_amount = 0
|
subscription_amount = 0
|
||||||
|
@ -190,6 +192,8 @@ def collect_usage_information(
|
||||||
|
|
||||||
subscription_amount = subscription_collection.total_results
|
subscription_amount = subscription_collection.total_results
|
||||||
|
|
||||||
|
logger.info("Found users subscriptions: %s", subscription_amount)
|
||||||
|
|
||||||
### Get user's queries resources
|
### Get user's queries resources
|
||||||
|
|
||||||
query_resources = bc.list_resources(
|
query_resources = bc.list_resources(
|
||||||
|
@ -200,7 +204,7 @@ def collect_usage_information(
|
||||||
|
|
||||||
query_amount = len(query_resources.resources)
|
query_amount = len(query_resources.resources)
|
||||||
|
|
||||||
# MOONSTREAM_ADMIN_ACCESS_TOKEN = "ad7a7364-c535-4c9f-9d2d-20d7b6ade18d"
|
logger.info("Found users queries: %s", query_amount)
|
||||||
|
|
||||||
### Get user's leaderboards resources
|
### Get user's leaderboards resources
|
||||||
leaderboard_resources = bc.list_resources(
|
leaderboard_resources = bc.list_resources(
|
||||||
|
@ -209,16 +213,14 @@ def collect_usage_information(
|
||||||
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
timeout=BUGOUT_REQUEST_TIMEOUT_SECONDS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger.info("Geneating leaderboards owners map")
|
||||||
|
|
||||||
leaderboards = generate_leaderboard_owners(
|
leaderboards = generate_leaderboard_owners(
|
||||||
leaderboards=leaderboard_resources.resources
|
leaderboards=leaderboard_resources.resources
|
||||||
)
|
)
|
||||||
|
|
||||||
# Get user leaderboards
|
# Get user leaderboards
|
||||||
|
|
||||||
### contracts events
|
|
||||||
|
|
||||||
contract_data = {}
|
|
||||||
|
|
||||||
leaderboard_configs = get_all_entries_from_search(
|
leaderboard_configs = get_all_entries_from_search(
|
||||||
token=MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
token=MOONSTREAM_ADMIN_ACCESS_TOKEN,
|
||||||
journal_id=MOONSTREAM_LEADERBOARD_GENERATOR_JOURNAL_ID,
|
journal_id=MOONSTREAM_LEADERBOARD_GENERATOR_JOURNAL_ID,
|
||||||
|
@ -242,33 +244,13 @@ def collect_usage_information(
|
||||||
"update_activated": True if "status:active" in tags else False,
|
"update_activated": True if "status:active" in tags else False,
|
||||||
}
|
}
|
||||||
|
|
||||||
if contracts is not None:
|
user_leaderboards = []
|
||||||
client = Moonstream()
|
|
||||||
|
|
||||||
### run query
|
|
||||||
|
|
||||||
for blockchain, addresses in contracts.items():
|
|
||||||
contracts_events = recive_S3_data_from_query(
|
|
||||||
client=client,
|
|
||||||
token=MOONSTREAM_PUBLIC_QUERIES_TOKEN, # type: ignore
|
|
||||||
query_name="template_contract_events_per_month",
|
|
||||||
params={},
|
|
||||||
time_await=2,
|
|
||||||
max_retries=30,
|
|
||||||
custom_body={
|
|
||||||
"blockchain": blockchain,
|
|
||||||
"params": {
|
|
||||||
"block_month": month,
|
|
||||||
"addresses": [
|
|
||||||
Web3.toChecksumAddress(addresses) for addresses in addresses
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)["data"]
|
|
||||||
|
|
||||||
contract_data[blockchain] = contracts_events
|
|
||||||
|
|
||||||
for leaderboard in leaderboards:
|
for leaderboard in leaderboards:
|
||||||
|
|
||||||
|
if leaderboard["owner"] != user_id:
|
||||||
|
continue
|
||||||
|
|
||||||
if leaderboard["leaderboard_id"] in leaderboard_configs_mapper:
|
if leaderboard["leaderboard_id"] in leaderboard_configs_mapper:
|
||||||
leaderboard["query_name"] = leaderboard_configs_mapper[
|
leaderboard["query_name"] = leaderboard_configs_mapper[
|
||||||
leaderboard["leaderboard_id"]
|
leaderboard["leaderboard_id"]
|
||||||
|
@ -289,7 +271,43 @@ def collect_usage_information(
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
leaderboard["users_count"] = 0
|
leaderboard["users_count"] = 0
|
||||||
leaderboard["last_updated_at"] = None
|
leaderboard["last_updated_at"] = None
|
||||||
continue
|
|
||||||
|
user_leaderboards.append(leaderboard)
|
||||||
|
|
||||||
|
logger.info("Found users leaderboards: %s", len(user_leaderboards))
|
||||||
|
|
||||||
|
### contracts events
|
||||||
|
|
||||||
|
contract_data = {}
|
||||||
|
|
||||||
|
if contracts is not None:
|
||||||
|
client = Moonstream()
|
||||||
|
|
||||||
|
### run query
|
||||||
|
|
||||||
|
for blockchain, addresses in contracts.items():
|
||||||
|
logger.info(
|
||||||
|
f"Collecting contracts events for {blockchain} for addresses: {addresses}"
|
||||||
|
)
|
||||||
|
contracts_events = recive_S3_data_from_query(
|
||||||
|
client=client,
|
||||||
|
token=MOONSTREAM_PUBLIC_QUERIES_TOKEN, # type: ignore
|
||||||
|
query_name="template_contract_events_per_month",
|
||||||
|
params={},
|
||||||
|
time_await=2,
|
||||||
|
max_retries=30,
|
||||||
|
custom_body={
|
||||||
|
"blockchain": blockchain,
|
||||||
|
"params": {
|
||||||
|
"block_month": month,
|
||||||
|
"addresses": [
|
||||||
|
Web3.toChecksumAddress(addresses) for addresses in addresses
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
)["data"]
|
||||||
|
|
||||||
|
contract_data[blockchain] = contracts_events
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"subscriptions": subscription_amount,
|
"subscriptions": subscription_amount,
|
||||||
|
|
Ładowanie…
Reference in New Issue