tx.sign(xmss) response = stub.PushTransaction(request=qrl_pb2.PushTransactionReq( transaction_signed=tx.pbdata)) if response.error_code != 3: raise Exception('Transaction Submission Failed, Response Code: %s', response.error_code) response = {'tx_hash': bin2hstr(tx.txhash)} return response app.add_url_rule('/json_rpc', 'api', api.as_view(), methods=['POST']) def main(): global payment_slaves, payment_xmss global mining_stub, public_stub mining_stub = qrlmining_pb2_grpc.MiningAPIStub( grpc.insecure_channel('{0}:{1}'.format(config.user.mining_api_host, config.user.mining_api_port))) public_stub = qrl_pb2_grpc.PublicAPIStub( grpc.insecure_channel('{0}:{1}'.format(config.user.public_api_host, config.user.public_api_port))) payment_xmss = None payment_slaves = read_slaves(config.user.mining_pool_payment_wallet_path) app.run(host=config.user.grpc_proxy_host, port=config.user.grpc_proxy_port)
from jsonrpc.exceptions import JSONRPCDispatchException import json import os.path from hseling_api_wikidata.database_search import DatabaseSearch, NotFoundError from hseling_api_wikidata.connect_to_db import connect from get_data import get_data BASE_DIR = os.path.dirname(os.path.abspath(__file__)) punct = punctuation + '«»—…“”*–' morph = Mystem() app = Flask(__name__) app.register_blueprint(api.as_blueprint()) app.add_url_rule('/', 'search', api.as_view(), methods=['POST']) @api.dispatcher.add_method def search(ngrams: list): cursor = connect(os.path.join(BASE_DIR, "wikidata.db")) try: data = DatabaseSearch(ngrams=ngrams, morph=morph, punct=punct, cursor=cursor) return json.dumps({"ngrams": data.ngrams, "csv_result": data.csv_format}) except NotFoundError: raise JSONRPCDispatchException(code=404, message="Ngrams not found")