This commit is contained in:
osiris account 2023-03-12 19:10:43 -07:00
parent 44b49e740c
commit d9a600a7dc
9 changed files with 254 additions and 36 deletions

View file

@ -10,8 +10,9 @@ from src.utils.os_utils import load_config
from src.blockchains.ethereum import TokenIndexer
from src.utils.vercel_utils import upload_to_vercel
from src.utils.db_processing import run_db_processing
from src.utils.test_api import fetch_token_balance as f
from src.utils.data_processing import run_data_processing
from src.utils.test_api import fetch_token_balance, fetch_top_token_holders, fetch_change
def run_menu() -> argparse.ArgumentParser:
@ -69,10 +70,9 @@ def run() -> None:
# Run deployment tools
#############################
elif args.api:
uvicorn.run("src.server.api:app", \
host=env_vars['API_HOST_URL'], \
port=env_vars['API_HOST_PORT'], \
reload=True)
host = env_vars['API_HOST_URL']
port = int(env_vars['API_HOST_PORT'])
uvicorn.run("src.server.api:app", host=host, port=port, reload=True)
elif args.vercel:
upload_to_vercel()
@ -80,11 +80,11 @@ def run() -> None:
# Run api tests
#############################
elif args.balance:
f.fetch_token_balance(env_vars, args.balance[0])
fetch_token_balance(env_vars, args.balance[0])
elif args.top:
f.fetch_top_holders(env_vars, args.top[0])
fetch_top_token_holders(env_vars, args.top[0])
elif args.change:
f.fetch_change(env_vars, args.change[0])
fetch_change(env_vars, args.change[0])
else:
parser.print_help()

View file

@ -5,7 +5,7 @@
import asyncio
from fastapi import APIRouter
from database import retrieve_balance, retrieve_top_balances, retrieve_holder_weekly_change
from src.server.database import retrieve_balance, retrieve_top_balances, retrieve_holder_weekly_change
router = APIRouter()
@ -46,7 +46,7 @@ async def get_top_holders(env_vars: dict, top_number=None) -> dict:
@router.get("/weekly/{address}")
async def get_holder_weekly_change( env_vars: dict, address: str) -> dict:
async def get_holder_weekly_change(env_vars: dict, address: str) -> dict:
"""Get weekly change of a given address."""
futures = [retrieve_holder_weekly_change(env_vars, address)]

View file

@ -30,5 +30,5 @@ def run_data_processing(filepath) -> None:
balance_output_file = os_utils.create_result_file("balances")
balance_output_filepath = os_utils.set_output(balance_output_file)
os_utils.log_info(f' Writing balances to {balance_output_filepath}')
os_utils.log_info(f'Writing balances to {balance_output_filepath}')
os_utils.save_output(balance_output_filepath, balance_data)

View file

@ -7,10 +7,10 @@ import sys
import json
import logging
import requests
import urlparse
from pathlib import Path
from dotenv import load_dotenv
from datetime import datetime
from urllib.parse import urlparse
def set_logging(log_level) -> None:
@ -48,7 +48,7 @@ def load_config() -> dict:
env_vars['SIZE_CHUNK_NEXT'] = os.getenv("SIZE_CHUNK_NEXT")
env_vars['OUTPUT_DIR'] = os.getenv("OUTPUT_DIR")
env_vars['TOKEN_DECIMALS'] = os.getenv("TOKEN_DECIMALS")
env_vars['MONGODB_URI'] = os.getenv("MONGODB_URI")
env_vars['MONGODB_URL'] = os.getenv("MONGODB_URI")
env_vars['MONGODB_DB_NAME'] = os.getenv("MONGODB_DB_NAME")
env_vars['MONGODB_COLLECTION_NAME'] = os.getenv("MONGODB_COLLECTION_NAME")
env_vars['API_HOST_URL'] = os.getenv("API_HOST_URL")
@ -155,7 +155,7 @@ def create_result_file(prefix) -> str:
def send_post_request(url, headers=None, json=None) -> dict:
"""Send a request to a given URL"""
json = params or {}
json = json or {}
headers = headers or {}
try:
@ -191,8 +191,8 @@ def send_rpc_request(url, method, params=None) -> dict:
log_debug(f'Querying {url} with {data}')
response = send_post_request(url, headers={'Content-Type': 'application/json'}, json=data)
if 'result' in response.json():
return response.json()['result']
if 'result' in response:
return response['result']
else:
log_error('Query failed: {}.'.format(response.json()['error']))

View file

@ -2,7 +2,7 @@
# utils/test_api.py
# This class implements the tests for the API.
import os_utils
import src.utils.os_utils as os_utils
def fetch_token_balance(env_vars, wallet):

View file

@ -1,4 +1,5 @@
# -*- encoding: utf-8 -*-
def upload_to_vercel():
print('tba')
pass