stats server combined totals update

This commit is contained in:
Nicolás Sánchez 2024-11-26 18:43:17 -03:00
parent c4057cdacc
commit ffcba21f74
1 changed files with 40 additions and 0 deletions

View File

@ -1,5 +1,7 @@
import sqlite3
import sys
import datetime
import time
from flask import Flask, jsonify, request
@ -73,6 +75,36 @@ def query_total_profit(pair=None):
return 0
def daily_and_monthly_totals():
'''
Returns a tuple with the current day and the current month's total profit.
'''
#Connect to db
connection = sqlite3.connect(profits_database)
cursor = connection.cursor()
now = datetime.datetime.now()
# Create a datetime object for the start of the day
start_of_day = datetime.datetime(now.year, now.month, now.day)
start_of_month = datetime.datetime(now.year, now.month, 1)
# Convert the start of the day to Unix time
start_of_day_unix = int(time.mktime(start_of_day.timetuple()))
start_of_month_unix = int(time.mktime(start_of_month.timetuple()))
query = f"""SELECT * FROM profits_table
WHERE timestamp >= {start_of_month_unix}
ORDER BY timestamp DESC;"""
cursor.execute(query)
query_result = cursor.fetchall()
connection.close()
monthly_total = sum([item[2] for item in query_result])
daily_total = sum([item[2] for item in query_result if item[0]>=start_of_day_unix])
return (daily_total, monthly_total)
def query_daily_totals(pair=None):
'''
Returns a dictionary of daily totals of the trading pair.
@ -311,6 +343,14 @@ def fetch_log():
return jsonify({'Error': 'API key invalid'}), 401
@stats_api.route("/combined_totals")
def combined_totals():
if "X-API-KEY" in request.headers and request.headers.get("X-API-KEY") in valid_keys:
daily_totals = daily_and_monthly_totals()
return jsonify({"combined": daily_totals})
return jsonify({'Error': 'API key invalid'}), 401
@stats_api.route("/daily_totals")
def get_daily_totals():
if "X-API-KEY" in request.headers and request.headers.get("X-API-KEY") in valid_keys: