Skip to content

Commit

Permalink
format python code
Browse files Browse the repository at this point in the history
  • Loading branch information
saibatizoku committed Feb 8, 2023
1 parent afd14cf commit 0a6cfcd
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 21 deletions.
1 change: 1 addition & 0 deletions services/voting-node/pyproject.toml
Expand Up @@ -8,6 +8,7 @@ dependencies = [
"Click",
"asyncpg",
"fastapi",
"prometheus-fastapi-instrumentator",
"uvicorn[standard]",
]
dynamic = ["version"]
Expand Down
29 changes: 19 additions & 10 deletions services/voting-node/voting_node/app.py
@@ -1,27 +1,33 @@
import asyncio
from prometheus_fastapi_instrumentator import Instrumentator
from uvicorn import Config, Server
from typing import Union

from fastapi import FastAPI

from .import logs as applogs
from . import logs

app = FastAPI()


@app.get("/")
def heartbeat():
"""Returns 200 if the service is running."""
return None


Instrumentator().instrument(app).expose(app)


class JormConfig(object):
def __init__(self, jormungandr_path: str, jcli_path: str):
self.jormungandr_path = jormungandr_path
self.jcli_path = jcli_path


class VotingServer(Server):
def __init__(self, config: Config, jorm_config: JormConfig):
Server.__init__(self, config)
self.logger = applogs.getLogger(config.log_level)
self.logger = logs.getLogger(config.log_level)
self.retry_jorm = True
self.jorm_config = jorm_config

Expand Down Expand Up @@ -60,7 +66,7 @@ async def start_service(self, sockets=None):

async def start_api_server(self, sockets=None):
"""Starts API server for the Voting Node."""
print('starting api')
print("starting api")
await self.serve(sockets=sockets)
# stops trying to launch jormungandr after API service is finished
self.stop_trying()
Expand All @@ -72,13 +78,13 @@ async def start_jormungandr(self):
f"jorm error: {e}"
raise e


async def jormungandr_subprocess_exec(self):
try:
proc = await asyncio.create_subprocess_exec(f"{self.jormungandr_exec()}", #"--help",
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,
)
proc = await asyncio.create_subprocess_exec(
f"{self.jormungandr_exec()}", # "--help",
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE,
)
stdout, stderr = await proc.communicate()

if stdout:
Expand All @@ -87,11 +93,14 @@ async def jormungandr_subprocess_exec(self):
self.logger.warning(f"[stderr]\n{stderr.decode()}")

if proc.returncode != 0:
raise Exception(f"jormungandr exited with non-zero status: {proc.returncode}")
raise Exception(
f"jormungandr exited with non-zero status: {proc.returncode}"
)
except Exception as e:
self.logger.warning(f"jorm node error: {e}")
raise e


# Use this to run your service
def run(jormungandr_path, jcli_path, host="127.0.0.1", port=8000, log_level="info"):
"""Main entrypoint to running the service."""
Expand Down
31 changes: 22 additions & 9 deletions services/voting-node/voting_node/cli.py
@@ -1,24 +1,37 @@
import click
from . import app


@click.group()
@click.option('--debug/--no-debug', default=False)
@click.option('--hot-reload/--no-hot-reload', default=False)
@click.option("--debug/--no-debug", default=False)
@click.option("--hot-reload/--no-hot-reload", default=False)
def cli(debug, hot_reload):
click.echo(f"debug-mode={debug}")
click.echo(f"hot-reload-mode={hot_reload}")


@click.command()
@click.option('--host', envvar='VOTING_HOST', default='0.0.0.0')
@click.option('--port', envvar='VOTING_PORT', default=8000)
@click.option('--log-level', envvar='VOTING_LOG_LEVEL', default='info')
@click.option('--jormungandr-path', envvar='JORMUNGANDR_PATH', default='/home/saiba/.cargo/bin/jormungandr')
@click.option('--jcli-path', envvar='JCLI_PATH', default='/home/saiba/.cargo/bin/jcli')
@click.option("--host", envvar="VOTING_HOST", default="0.0.0.0")
@click.option("--port", envvar="VOTING_PORT", default=8000)
@click.option("--log-level", envvar="VOTING_LOG_LEVEL", default="info")
@click.option(
"--jormungandr-path",
envvar="JORMUNGANDR_PATH",
default="/home/saiba/.cargo/bin/jormungandr",
)
@click.option("--jcli-path", envvar="JCLI_PATH", default="/home/saiba/.cargo/bin/jcli")
def start(host, port, log_level, jormungandr_path, jcli_path):
click.echo('Starting...')
click.echo("Starting...")
click.echo(f"host={host}")
click.echo(f"port={port}")
click.echo(f"log-level={log_level}")
app.run(jormungandr_path=jormungandr_path, jcli_path=jcli_path, host=host, port=port, log_level=log_level)
app.run(
jormungandr_path=jormungandr_path,
jcli_path=jcli_path,
host=host,
port=port,
log_level=log_level,
)


cli.add_command(start)
7 changes: 5 additions & 2 deletions services/voting-node/voting_node/logs.py
@@ -1,11 +1,14 @@
import logging


def getLogger(log_level):
logger = logging.getLogger('voting-node')
logger = logging.getLogger("voting-node")
logger.setLevel(getattr(logging, log_level.upper()))
ch = logging.StreamHandler()
ch.setLevel(getattr(logging, log_level.upper()))
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(name)s - %(message)s')
formatter = logging.Formatter(
"%(asctime)s - %(levelname)s - %(name)s - %(message)s"
)
ch.setFormatter(formatter)
logger.addHandler(ch)
return logger

0 comments on commit 0a6cfcd

Please sign in to comment.