def main(): app = Sanic(__name__) app.blueprint(AUTH_BP) app.blueprint(BLOCKS_BP) app.blueprint(CHATBOT_BP) app.blueprint(ERRORS_BP) app.blueprint(PROPOSALS_BP) app.blueprint(ROLES_BP) app.blueprint(TASKS_BP) app.blueprint(USERS_BP) app.blueprint(APP_BP) @app.middleware("request") async def handle_options(request): # pylint: disable=unused-variable if request.method == "OPTIONS": return text( "ok", headers={ "Access-Control-Allow-Origin": "*", "Access-Control-Allow-Methods": "GET, POST, PUT, PATCH, DELETE, OPTIONS", "Access-Control-Allow-Headers": "Content-Type, Authorization", }, ) @app.middleware("response") def allow_cors(request, response): # pylint: disable=unused-variable response.headers["Access-Control-Allow-Origin"] = "*" response.headers[ "Access-Control-Allow-Methods"] = "GET, POST, PUT, PATCH, DELETE, OPTIONS" response.headers[ "Access-Control-Allow-Headers"] = "Content-Type, Authorization" load_config(app) zmq = ZMQEventLoop() asyncio.set_event_loop(zmq) server = app.create_server(host=app.config.HOST, port=app.config.PORT, debug=app.config.DEBUG) loop = asyncio.get_event_loop() asyncio.ensure_future(server) asyncio.ensure_future(open_connections(app)) signal(SIGINT, lambda s, f: loop.close()) try: loop.run_forever() except KeyboardInterrupt: close_connections(app) loop.stop()
def main(): args = sys.argv[1:] if len(args) == 1: num_requests = int(args[0]) elif len(args) == 0: num_requests = 10 else: sys.exit(__doc__) try: loop = ZMQEventLoop() asyncio.set_event_loop(loop) loop.run_until_complete(run(loop, num_requests)) except KeyboardInterrupt: print('\nFinished (interrupted)')
def main(): loop = ZMQEventLoop() asyncio.set_event_loop(loop) try: opts = parse_args(sys.argv[1:]) init_console_logging(verbose_level=opts.verbose) validator_url = opts.connect if "tcp://" not in validator_url: validator_url = "tcp://" + validator_url database = Database(opts.db_host, opts.db_port, opts.db_name, opts.db_user, opts.db_password, loop) messenger = Messenger(validator_url, database) try: host, port = opts.bind.split(":") port = int(port) except ValueError: print("Unable to parse binding {}: Must be in the format" " host:port".format(opts.bind)) sys.exit(1) dotenv_path = join(dirname(__file__), '.env') load_dotenv(dotenv_path) start_rest_api(host, port, messenger, database) except Exception as err: # pylint: disable=broad-except LOGGER.exception(err) sys.exit(1) finally: database.disconnect() messenger.close_validator_connection()
def main(): #app.blueprint(ACCOUNTS_BP) #app.blueprint(ERRORS_BP) #app.blueprint(ASSETS_BP) load_config(app) app.blueprint(ACCOUNTS_BP) app.blueprint(ERRORS_BP) app.blueprint(ASSETS_BP) #app.blueprint(USER_ACCOUNTS_BP) for handler, (rule, router) in app.router.routes_names.items(): print(rule) zmq = ZMQEventLoop() asyncio.set_event_loop(zmq) server = app.create_server(host=app.config.HOST, port=app.config.PORT, debug=app.config.DEBUG, access_log=True) loop = asyncio.get_event_loop() ##not wait for the server to strat, this will return a future object asyncio.ensure_future(server) app.config.DB = loop.run_until_complete(open_connections(app)) ##future.add_done_callback(functools.partial(db_callback, app)) #task = asyncio.ensure_future(from_mnemonic(app.config.GOAPI_URL, #app.config.ADMIN_MNEMONIC)) #task.add_done_callback(functools.partial(mstr_mnemic_chk_calbck, app)) loop.run_until_complete(master_mnemonic(app)) admin = loop.run_until_complete( find_on_key( app, "email", app.config.ADMIN_EMAIL, )) ##if ADMIN data is not present in the users_table then insert if not admin: admin = loop.run_until_complete(new_account(app, \ pancard=app.config.ADMIN_PANCARD, phone_number=app.config.ADMIN_PHONE_NUMBER, email=app.config.ADMIN_EMAIL, \ role="ADMIN", gst_number=app.config.ADMIN_GST_NUMBER, tan_number=app.config.ADMIN_TAN_NUMBER, org_name=app.config.ADMIN_ORG_NAME)) mnemonic, admin = loop.run_until_complete( set_password(app, account=admin, password=app.config.ADMIN_PASSWORD)) ##since ADMIN not going to have a create_account transaction on ##blockchain, its fine to set its claimed to True admin.update({"claimed": True}) admin.update({"parent_pub": None, "parent_idx": 0}) logging.info(app.config) loop.run_until_complete(submit_admin_account(app, admin)) else: logging.info("Admin found in the Database") signal(SIGINT, lambda s, f: loop.close()) try: loop.run_forever() except KeyboardInterrupt: close_connections(app) loop.stop()