parent
8061fdba9b
commit
d7ecab6494
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,6 @@
|
|||||||
venv/*
|
venv/*
|
||||||
mine_data/*
|
mine_data/*
|
||||||
mariadb_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";
|
msg_array[0] = "You have no cards to view";
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for i, card in enumerate(cards):
|
msg = "Successfully listed deck.\n"
|
||||||
print(f"{i+1}. Card ID: {card['cardId']}, Page ID: {card['pageId']}");
|
for card in cards:
|
||||||
|
msg += f"Card ID: {card['cardId']}, Page ID: {card['pageId']}\n"
|
||||||
|
msg_array[0] = msg
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
msg_array[0] = f"Error fetching cards: {str(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_HOST: mariadb-mine
|
||||||
MINE_DB_USER: mine
|
MINE_DB_USER: mine
|
||||||
MINE_DB_PASSWORD: 123abc
|
MINE_DB_PASSWORD: 123abc
|
||||||
|
MINE_LOG_FILE: /tmp/mine.log
|
||||||
depends_on:
|
depends_on:
|
||||||
- mariadb-mine
|
- mariadb-mine
|
||||||
ports:
|
ports:
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import base64
|
import base64
|
||||||
import datetime
|
import datetime
|
||||||
|
import logging
|
||||||
import mariadb
|
import mariadb
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
@ -181,6 +182,8 @@ class Database():
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
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
|
delay = 2
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
@ -195,6 +198,7 @@ class Database():
|
|||||||
for each in self.SQL_CREATE_TABLES:
|
for each in self.SQL_CREATE_TABLES:
|
||||||
self.conn.cursor().execute(each)
|
self.conn.cursor().execute(each)
|
||||||
except mariadb.Error as e:
|
except mariadb.Error as e:
|
||||||
|
self.logger.error(e)
|
||||||
time.sleep(delay := delay**2)
|
time.sleep(delay := delay**2)
|
||||||
continue
|
continue
|
||||||
break
|
break
|
||||||
@ -239,11 +243,8 @@ class Database():
|
|||||||
|
|
||||||
def get_blocks(self):
|
def get_blocks(self):
|
||||||
cur = self.conn.cursor()
|
cur = self.conn.cursor()
|
||||||
cur.execute(self.SQL_GET_LAST_BLOCK)
|
cur.execute(self.SQL_GET_BLOCKS)
|
||||||
blocks = cur.fetchall()
|
blocks = cur.fetchall()
|
||||||
if blocks:
|
|
||||||
blockCard = self.get_card_by_block_id(lastBlock[0])
|
|
||||||
blockTransactions = self.get_transactions_by_block_id(lastBlock[0])
|
|
||||||
return [
|
return [
|
||||||
Block(
|
Block(
|
||||||
blockId = uuid.UUID(block[0]),
|
blockId = uuid.UUID(block[0]),
|
||||||
@ -255,12 +256,10 @@ class Database():
|
|||||||
height = block[3],
|
height = block[3],
|
||||||
difficulty = block[4],
|
difficulty = block[4],
|
||||||
nonce = block[5],
|
nonce = block[5],
|
||||||
card = blockCard,
|
card = self.get_card_by_block_id(block[0]),
|
||||||
transactions = blockTransactions
|
transactions = self.get_transactions_by_block_id(block[0])
|
||||||
)
|
) for block in blocks
|
||||||
]
|
] if blocks else []
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
def get_last_block(self):
|
def get_last_block(self):
|
||||||
cur = self.conn.cursor()
|
cur = self.conn.cursor()
|
||||||
|
|||||||
@ -50,7 +50,8 @@ def generate_origin_block():
|
|||||||
@mine.get('/')
|
@mine.get('/')
|
||||||
def index_get():
|
def index_get():
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
return flask.jsonify(
|
return flask.jsonify(
|
||||||
{'Error': str(e)}
|
{'Error': str(e)}
|
||||||
@ -171,6 +172,8 @@ def cards_get():
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
return flask.jsonify([card.as_dict() for card in deck] if deck else [])
|
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:
|
except Exception as e:
|
||||||
return flask.jsonify(
|
return flask.jsonify(
|
||||||
{'Error': str(e)}
|
{'Error': str(e)}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user