Getting ready for K8S deploy #7
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
||||
venv/*
|
||||
mine_data/*
|
||||
mariadb_data/*
|
||||
*.pem
|
||||
*__pycache__*
|
||||
*.swp
|
||||
|
||||
6
cli.py
6
cli.py
@ -263,8 +263,10 @@ def opt_view_deck():
|
||||
msg_array[0] = "You have no cards to view";
|
||||
return;
|
||||
|
||||
for i, card in enumerate(cards):
|
||||
print(f"{i+1}. Card ID: {card['cardId']}, Page ID: {card['pageId']}");
|
||||
msg = "Successfully listed deck.\n"
|
||||
for card in cards:
|
||||
msg += f"Card ID: {card['cardId']}, Page ID: {card['pageId']}\n"
|
||||
msg_array[0] = msg
|
||||
|
||||
except Exception as e:
|
||||
msg_array[0] = f"Error fetching cards: {str(e)}";
|
||||
|
||||
3
client-requirements.txt
Normal file
3
client-requirements.txt
Normal file
@ -0,0 +1,3 @@
|
||||
cryptography
|
||||
dotenv
|
||||
wikipedia
|
||||
@ -13,6 +13,7 @@ services:
|
||||
MINE_DB_HOST: mariadb-mine
|
||||
MINE_DB_USER: mine
|
||||
MINE_DB_PASSWORD: 123abc
|
||||
MINE_LOG_FILE: /tmp/mine.log
|
||||
depends_on:
|
||||
- mariadb-mine
|
||||
ports:
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import base64
|
||||
import datetime
|
||||
import logging
|
||||
import mariadb
|
||||
import os
|
||||
import time
|
||||
@ -181,6 +182,8 @@ class Database():
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
logging.basicConfig(filename=os.getenv('MINE_LOG_FILE', '/var/log/mine.log'), level=logging.INFO)
|
||||
self.logger = logging.getLogger(__name__)
|
||||
delay = 2
|
||||
while True:
|
||||
try:
|
||||
@ -195,6 +198,7 @@ class Database():
|
||||
for each in self.SQL_CREATE_TABLES:
|
||||
self.conn.cursor().execute(each)
|
||||
except mariadb.Error as e:
|
||||
self.logger.error(e)
|
||||
time.sleep(delay := delay**2)
|
||||
continue
|
||||
break
|
||||
@ -239,28 +243,23 @@ class Database():
|
||||
|
||||
def get_blocks(self):
|
||||
cur = self.conn.cursor()
|
||||
cur.execute(self.SQL_GET_LAST_BLOCK)
|
||||
cur.execute(self.SQL_GET_BLOCKS)
|
||||
blocks = cur.fetchall()
|
||||
if blocks:
|
||||
blockCard = self.get_card_by_block_id(lastBlock[0])
|
||||
blockTransactions = self.get_transactions_by_block_id(lastBlock[0])
|
||||
return [
|
||||
Block(
|
||||
blockId = uuid.UUID(block[0]),
|
||||
previousHash = block[1],
|
||||
timestamp = datetime.datetime.strptime(
|
||||
block[2],
|
||||
"%Y-%m-%d %H:%M:%S.%f%z"
|
||||
),
|
||||
height = block[3],
|
||||
difficulty = block[4],
|
||||
nonce = block[5],
|
||||
card = blockCard,
|
||||
transactions = blockTransactions
|
||||
)
|
||||
]
|
||||
else:
|
||||
return None
|
||||
return [
|
||||
Block(
|
||||
blockId = uuid.UUID(block[0]),
|
||||
previousHash = block[1],
|
||||
timestamp = datetime.datetime.strptime(
|
||||
block[2],
|
||||
"%Y-%m-%d %H:%M:%S.%f%z"
|
||||
),
|
||||
height = block[3],
|
||||
difficulty = block[4],
|
||||
nonce = block[5],
|
||||
card = self.get_card_by_block_id(block[0]),
|
||||
transactions = self.get_transactions_by_block_id(block[0])
|
||||
) for block in blocks
|
||||
] if blocks else []
|
||||
|
||||
def get_last_block(self):
|
||||
cur = self.conn.cursor()
|
||||
|
||||
@ -50,7 +50,8 @@ def generate_origin_block():
|
||||
@mine.get('/')
|
||||
def index_get():
|
||||
try:
|
||||
return jsonify([each.as_dict() for each in db.get_blocks()])
|
||||
blocks = db.get_blocks()
|
||||
return flask.jsonify([block.as_dict() for block in blocks]) if blocks else flask.jsonify({})
|
||||
except Exception as e:
|
||||
return flask.jsonify(
|
||||
{'Error': str(e)}
|
||||
@ -171,6 +172,8 @@ def cards_get():
|
||||
)
|
||||
)
|
||||
return flask.jsonify([card.as_dict() for card in deck] if deck else [])
|
||||
else:
|
||||
return flask.jsonify({'Error': "No public key."}), 400
|
||||
except Exception as e:
|
||||
return flask.jsonify(
|
||||
{'Error': str(e)}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user