from datetime import datetime from enum import Enum from os import F_OK import tempText_Module import time import config as config import flask from flask import Flask, request, after_this_request import credentials import commands.loader as command_loader from commands.command_base import AbstractCommand from cooldowns import Cooldown_Module import utilities_script as utility import chyron_module import timers_module import random import json import base64 import event_logs.event_log_Module import os import praxis_logging praxis_logger_obj = praxis_logging.praxis_logger() praxis_logger_obj.init(os.path.basename(__file__)) praxis_logger_obj.log("\n -Starting Logs: " + os.path.basename(__file__)) api:Flask = Flask(__name__) api.config["DEBUG"] = True logging_module = event_logs.event_log_Module.Event_Log_Module() def init(): print("starting up... ",) logging_module.main() def add_event(eventName, eventTime, eventType, eventSender, eventData): logging_module.make_event(eventName, eventTime, eventType, eventSender, eventData) return flask.make_response("{\"message\":\"%s\"}" % None, 200, {"Content-Type": "application/json"}) def get_events(eventCount=100): returnedData = logging_module.get_recent_logs(eventCount) payload = json.dumps(returnedData) payload = base64.b64encode(str.encode(payload)) return flask.make_response("{\"message\":\"%s\"}" % payload.decode(), 200, {"Content-Type": "application/json"}) def reRunEvent_handler(eventName, eventTime, eventType, eventSender, eventData): return flask.make_response("{\"message\":\"%s\"}" % 'rerunning event....', 200, {"Content-Type": "application/json"}) @api.route('/') def bot_StatusIcon(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response return flask.make_response('Hello There', 200) @api.route('/api/v1/event_log/status') def bot_status(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response return flask.make_response('EventLog Service: OK', 200) @api.route('/api/v1/event_log/add_event') def add_event_log(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response 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 'eventSender' not in request.args: return flask.make_response('{\"text\":"Argument \'eventSender\' not in request"}', 400) if 'event_data' not in request.args: return flask.make_response('{\"text\":"Argument \'event_data\' not in request"}', 400) return add_event(request.args['event_name'], request.args['event_time'], request.args['event_type'], request.args['eventSender'], 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 if 'request_name' not in request.args: return flask.make_response('{\"text\":"Argument \'request_name\' not in request"}', 400) if 'request_type' not in request.args: return flask.make_response('{\"text\":"Argument \'request_type\' not in request"}', 400) if 'request_data' not in request.args: requestData = 50 else: try: requestData = request.args['request_data'] except: requestData = 50 return get_events(requestData) @api.route('/api/v1/event_log/reRunEvent') def reRunEvent(): @after_this_request def add_header(response): response.headers.add('Access-Control-Allow-Origin', '*') return response if 'eventName' not in request.args: return flask.make_response('{\"text\":"Argument \'eventName\' not in request"}', 400) if 'eventTime' not in request.args: sentTime = request.args('eventTime') else: sentTime = None if 'eventType' not in request.args: return flask.make_response('{\"text\":"Argument \'eventType\' not in request"}', 400) if 'eventSender' not in request.args: return flask.make_response('{\"text\":"Argument \'eventSender\' not in request"}', 400) if 'eventData' not in request.args: return flask.make_response('{\"text\":"Argument \'eventData\' not in request"}', 400) return reRunEvent_handler(request.args['eventName'], sentTime, request.args['eventType'], request.args['eventSender'], request.args['eventData']) # @api.route('/api/v1/event_log/chyron/get') # def get_chyron(): # @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/event_log/commands/get') # def get_commands(): # @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/event_log/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/event_log/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/event_log/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() api.run(host="0.0.0.0", port = 42008)