From ddec99c37b794d5d372d78bc4042d0eef3d7164e Mon Sep 17 00:00:00 2001 From: Alex Orid Date: Fri, 7 May 2021 16:00:11 -0400 Subject: [PATCH] Event Log Progress --- standalone_eventLog.py | 26 +++++++++++++++------- standalone_twitch_script.py | 29 ++++++++++++++++++++++++- standalone_user_client.py | 43 +++++++++---------------------------- 3 files changed, 56 insertions(+), 42 deletions(-) diff --git a/standalone_eventLog.py b/standalone_eventLog.py index ce3f777..788896a 100644 --- a/standalone_eventLog.py +++ b/standalone_eventLog.py @@ -39,11 +39,13 @@ def init(): print("starting up... ",) logging_module.main() -def add_event(): - logging_module.make_event("Test", str(datetime.now()), "Command", str(random.randint(0,100000))) +def add_event(eventName, eventTime, eventType, eventData): + logging_module.make_event(eventName, eventTime, eventType, eventData) + return flask.make_response("{\"message\":\"%s\"}" % None, 200, {"Content-Type": "application/json"}) -def get_events(): - logging_module.get_recent_logs(100) +def get_events(eventCount=100): + logging_module.get_recent_logs(eventCount) + return flask.make_response('Event List', 200) @api.route('/') @@ -69,16 +71,24 @@ def add_event_log(): def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response - add_event() - return flask.make_response('EventLog Service: OK', 200) + if 'event_name' not in request.args: + return flask.make_response('{\"text\":"Argument \'event_name\' not in request"}', 400) + if 'event_time' not in request.args: + return flask.make_response('{\"text\":"Argument \'event_time\' not in request"}', 400) + if 'event_type' not in request.args: + return flask.make_response('{\"text\":"Argument \'event_type\' not in request"}', 400) + if 'event_data' not in request.args: + return flask.make_response('{\"text\":"Argument \'event_data\' not in request"}', 400) -@api.route('/api/v1/event_log/get') + return add_event(request.args['event_name'], request.args['event_time'], request.args['event_type'], request.args['event_data'],) + +@api.route('/api/v1/event_log/get_events') def get_event_log(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response - return flask.make_response('Client Service: OK', 200) + return get_events() # @api.route('/api/v1/event_log/chyron/get') # def get_chyron(): diff --git a/standalone_twitch_script.py b/standalone_twitch_script.py index d83551c..14c1b15 100644 --- a/standalone_twitch_script.py +++ b/standalone_twitch_script.py @@ -1,3 +1,4 @@ +from datetime import datetime import re from json import loads from urllib.parse import urlencode @@ -78,7 +79,15 @@ class Twitch_Module(): if self.cooldownModule.isCooldownActive("twitchChat") == False: self.exec_command(message ,command, rest) except: - print("something went wrong with a command") + praxis_logger_obj.log("something went wrong with a command") + + try: + is_actionable = self.is_command(command) + if is_actionable: + self.send_EventLog(command, str(datetime.now()), "command.twitch", rest) + praxis_logger_obj.log("Sent a thing") + except: + praxis_logger_obj.log("something went wrong with Event LOG") def is_command(self, word: str) -> bool: # todo need to url-escape word @@ -129,7 +138,25 @@ class Twitch_Module(): text_to_say: str = "%s says, %s" % (message.sender, message.text) self.exec_tts_sender("", text_to_say) + def send_EventLog(self, command, eventTime, eventType, rest): + params = urlencode( + {'event_name': command, + 'event_time': eventTime, + 'event_type': eventType, + 'event_data': rest}) + url = "http://127.0.0.1:42008/api/v1/event_log/add_event?%s" % params + resp = requests.get(url) + if resp.status_code == 200: + print("Got the following message: %s" % resp.text) + data = loads(resp.text) + msg = data['message'] + if msg is not None: + return msg + # todo send to logger and other relevent services + else: + # todo handle failed requests + pass def exec_tts_sender(self, username, message): params = urlencode({'tts_sender': username, 'tts_text': message}) diff --git a/standalone_user_client.py b/standalone_user_client.py index a104e2b..879413e 100644 --- a/standalone_user_client.py +++ b/standalone_user_client.py @@ -34,6 +34,11 @@ api.config["DEBUG"] = True def init(): print("starting up... ",) +def handle_request_get(requestName): + return flask.make_response('Handled', 200) + +def handle_request_set(requestName, requestType, requestData): + pass @api.route('/') def bot_StatusIcon(): @@ -43,45 +48,17 @@ def bot_StatusIcon(): return response return flask.make_response('Client Service: OK', 200) -@api.route('/api/v1/user_client/chyron/get') -def get_chyron(): +@api.route('/api/v1/user_client/get', methods=['GET']) +def get_data(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response - return flask.make_response('Client Service: OK', 200) + if 'request_name' not in request.args: + return flask.make_response('{\"text\":"Argument \'request_name\' not in request"}', 400) -@api.route('/api/v1/user_client/commands/get') -def get_commandss(): - @after_this_request - def add_header(response): - response.headers.add('Access-Control-Allow-Origin', '*') - return response - return flask.make_response('Client Service: OK', 200) + return handle_request_get(request.args['request_name']) -@api.route('/api/v1/user_client/rewards/get') -def get_rewards(): - @after_this_request - def add_header(response): - response.headers.add('Access-Control-Allow-Origin', '*') - return response - return flask.make_response('Client Service: OK', 200) - -@api.route('/api/v1/user_client/timers/get') -def get_timers(): - @after_this_request - def add_header(response): - response.headers.add('Access-Control-Allow-Origin', '*') - return response - return flask.make_response('Client Service: OK', 200) - -@api.route('/api/v1/user_client/text_sources/get') -def get_text_sources(): - @after_this_request - def add_header(response): - response.headers.add('Access-Control-Allow-Origin', '*') - return response - return flask.make_response('Client Service: OK', 200) if __name__ == "__main__": init()