From 68bf8558fddd56802063eb81d1987ee103b693a6 Mon Sep 17 00:00:00 2001 From: Roman Davydov <15850461+rdavydov@users.noreply.github.com> Date: Tue, 31 Oct 2023 23:36:34 +0300 Subject: [PATCH 1/7] analytics-log prototype --- .../TwitchChannelPointsMiner.py | 2 +- .../classes/AnalyticsServer.py | 14 ++++++++ assets/charts.html | 21 +++++++++--- assets/dark-theme.css | 10 ++++++ assets/script.js | 34 +++++++++++++++++++ assets/style.css | 7 ++++ 6 files changed, 83 insertions(+), 5 deletions(-) diff --git a/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py b/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py index 950c272a..f937351a 100644 --- a/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py +++ b/TwitchChannelPointsMiner/TwitchChannelPointsMiner.py @@ -191,7 +191,7 @@ def analytics( from TwitchChannelPointsMiner.classes.AnalyticsServer import AnalyticsServer http_server = AnalyticsServer( - host=host, port=port, refresh=refresh, days_ago=days_ago + host=host, port=port, refresh=refresh, days_ago=days_ago, username=self.username ) http_server.daemon = True http_server.name = "Analytics Thread" diff --git a/TwitchChannelPointsMiner/classes/AnalyticsServer.py b/TwitchChannelPointsMiner/classes/AnalyticsServer.py index 7b59c586..e3feff28 100644 --- a/TwitchChannelPointsMiner/classes/AnalyticsServer.py +++ b/TwitchChannelPointsMiner/classes/AnalyticsServer.py @@ -230,6 +230,7 @@ def __init__( port: int = 5000, refresh: int = 5, days_ago: int = 7, + username: str = None ): super(AnalyticsServer, self).__init__() @@ -239,6 +240,17 @@ def __init__( self.port = port self.refresh = refresh self.days_ago = days_ago + self.username = username + + def generate_log(): + logs_path = os.path.join(Path().absolute(), "logs") + log_file_path = os.path.join(logs_path, f"{username}.log") + try: + with open(log_file_path, "r") as log_file: + log_content = log_file.read() + return Response(log_content, status=200, mimetype="text/plain") + except FileNotFoundError: + return Response("Log file not found.", status=404, mimetype="text/plain") self.app = Flask( __name__, @@ -259,6 +271,8 @@ def __init__( ) self.app.add_url_rule("/json_all", "json_all", json_all, methods=["GET"]) + self.app.add_url_rule( + "/log", "log", generate_log, methods=["GET"]) def run(self): logger.info( diff --git a/assets/charts.html b/assets/charts.html index 39be35c6..d8e5efcc 100644 --- a/assets/charts.html +++ b/assets/charts.html @@ -27,14 +27,15 @@