Source code for microraiden.examples.stats_client

"""A simple client that displays status of a local proxy"""
import requests
import json
import time
import sys


[docs]class bcolors: HEADER = '\033[95m' BLUE = '\033[94m' GREEN = '\033[92m' YELLOW = '\033[93m' RED = '\033[91m' ENDC = '\033[0m' BOLD = '\033[1m' UNDERLINE = '\033[4m'
[docs]def nice_print(key, val, val_prev): if val > val_prev: color = bcolors.GREEN elif val < val_prev: color = bcolors.RED else: color = bcolors.ENDC print(bcolors.BOLD + key + "\t\t" + color + str(val) + bcolors.ENDC)
[docs]def do_request(): json_response = { 'balance_sum': 0, 'open_channels': 0, 'pending_channels': 0, 'unique_senders': 0, 'liquid_balance': 0, 'deposit_sum': 0 } json_prev = None connected = False while True: try: response = requests.get("http://localhost:5000/api/1/stats") json_response = json.loads(response.text) connected = True except requests.exceptions.ConnectionError: connected = False pass if json_prev is None: json_prev = json_response print('\033[H\033[J') print('connected' if connected else 'disconnected') nice_print("balance", json_response['balance_sum'], json_prev['balance_sum']) nice_print("open", json_response['open_channels'], json_prev['open_channels']) nice_print("pending", json_response['pending_channels'], json_prev['pending_channels']) nice_print("senders", json_response['unique_senders'], json_prev['unique_senders']) nice_print("liquid", json_response['liquid_balance'], json_prev['liquid_balance']) nice_print("deposit", json_response['deposit_sum'], json_prev['deposit_sum']) json_prev = json_response time.sleep(2)
[docs]def run(): try: do_request() except KeyboardInterrupt: sys.exit(1)
if __name__ == '__main__': run()