From 5c16536d6746dc650a5682320c50dfac80050959 Mon Sep 17 00:00:00 2001 From: Alex Orid Date: Tue, 11 May 2021 18:01:01 -0400 Subject: [PATCH] Added user-client Docker stuff --- Dockerfile_standalone_user_client.Dockerfile | 11 +++++ docker-compose.yaml | 8 ++++ makedockerimages.bat | 1 + standalone_command.py | 14 +++++-- standalone_user_client.py | 4 +- user_client/v1/webclient.js | 44 +++++++------------- 6 files changed, 49 insertions(+), 33 deletions(-) create mode 100644 Dockerfile_standalone_user_client.Dockerfile diff --git a/Dockerfile_standalone_user_client.Dockerfile b/Dockerfile_standalone_user_client.Dockerfile new file mode 100644 index 0000000..b4c9f2e --- /dev/null +++ b/Dockerfile_standalone_user_client.Dockerfile @@ -0,0 +1,11 @@ +FROM python:3.10.0a7-alpine3.13 + +WORKDIR /Praxis + +COPY requirements_sa_command.txt requirements_sa_command.txt +RUN apk add --update gcc libc-dev linux-headers && rm -rf /var/cache/apk/* +RUN pip3 install -r requirements_sa_command.txt + +COPY . . + +CMD [ "python3", "standalone_user_client.py"] \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml index 865570b..c5c8b75 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,5 +1,13 @@ version: '3.7' services: + standalone_user_client: + image: standalone_user_client + volumes: + - "./:/Praxis/" + ports: + - 42055:42055 + environment: + - ISDOCKER=cat standalone_eventlog: image: standalone_eventlog volumes: diff --git a/makedockerimages.bat b/makedockerimages.bat index 842d086..db9505d 100644 --- a/makedockerimages.bat +++ b/makedockerimages.bat @@ -1,3 +1,4 @@ +docker build --file Dockerfile_standalone_user_client.Dockerfile --tag standalone_user_client . docker build --file Dockerfile_standalone_eventlog.Dockerfile --tag standalone_eventlog . docker build --file Dockerfile_standalone_command.Dockerfile --tag standalone_command . docker build --file Dockerfile_standalone_channelRewards.Dockerfile --tag standalone_channelrewards . diff --git a/standalone_command.py b/standalone_command.py index f2d866c..87e9582 100644 --- a/standalone_command.py +++ b/standalone_command.py @@ -1,3 +1,4 @@ +import json import flask from flask import Flask, request, after_this_request @@ -9,6 +10,8 @@ from urllib.parse import urlencode import requests +import base64 + import os import praxis_logging praxis_logger_obj = praxis_logging.praxis_logger() @@ -69,9 +72,14 @@ def handle_get_list(): returnedDict[tempCmd.command] = tempDict tempDict = {} - - - return flask.make_response({'message': returnedDict}, 200, {"Content-Type": "application/json"}) + payload = json.dumps(returnedDict) + praxis_logger_obj.log("dumped") + praxis_logger_obj.log(payload) + payload = base64.b64encode(str.encode(payload)) + print("encoded") + praxis_logger_obj.log("encoded") + praxis_logger_obj.log(payload) + return flask.make_response("{\"message\":\"%s\"}" % payload.decode(), 200, {"Content-Type": "application/json"}) @api.route('/api/v1/command', methods=['GET']) def command_check(): diff --git a/standalone_user_client.py b/standalone_user_client.py index 01480d4..b751d4a 100644 --- a/standalone_user_client.py +++ b/standalone_user_client.py @@ -72,7 +72,7 @@ def handle_request_get(requestName, requestType, requestData): def request_get_list(serviceName, servicePort): try: - url = "http://"+ "127.0.0.1" + ":"+ servicePort + "/api/v1/get_list/all" + url = "http://"+ serviceName + ":"+ servicePort + "/api/v1/get_list/all" resp = requests.get(url) if resp.status_code == 200: @@ -146,4 +146,4 @@ def get_data(): if __name__ == "__main__": init() - api.run(host="0.0.0.0", port = 5500) \ No newline at end of file + api.run(host="0.0.0.0", port = 42055) \ No newline at end of file diff --git a/user_client/v1/webclient.js b/user_client/v1/webclient.js index 6289915..1d111e9 100644 --- a/user_client/v1/webclient.js +++ b/user_client/v1/webclient.js @@ -1,5 +1,5 @@ -refresh = () => response = fetch('http://127.0.0.1:5500/') +refresh = () => response = fetch('http://127.0.0.1:42055/') .then((response) => { return response.text(); }) @@ -31,7 +31,7 @@ GetList = async (listType) => { 'request_type': "list" } params = "?request_name="+encodeURIComponent(ListRequestOBJ.request_name)+"&"+"request_type="+encodeURIComponent(ListRequestOBJ.request_type); - targetURL = "http://127.0.0.1:5500/api/v1/user_client/get"+params; + targetURL = "http://127.0.0.1:42055/api/v1/user_client/get"+params; console.log(targetURL) a = await fetch_GetList(targetURL); //console.log("return: "+a); @@ -42,55 +42,43 @@ GetList = async (listType) => { } } -async function GetListChyron() { - returnedList = await GetList("Chyron"); - obj = JSON.parse(returnedList); - console.log(obj["message"]) - return returnedList -} - async function GetListCommands() { - returnedList = await GetList("Commands"); - var obj_main = JSON.parse(returnedList); + let returnedList = await GetList("Commands"); + let obj_main = JSON.parse(returnedList); console.log(returnedList); console.log(obj_main); - console.log(typeof obj_main["message"]) + console.log(typeof obj_main['message']) - console.log(obj_main["message"]); - obj_temp = JSON.parse(obj_main["message"]); + console.log(obj_main.message); + //var obj_temp = JSON.parse(obj_main.message['!lights']); - searchPattern = "(?<='command': ')[^]'+"; - searchPattern = "(?<='command': ')[^']+" - newString = returnedList.search(searchPattern); - console.log(newString) - //obj_temp = JSON.parse(obj_main["message"]); - for (var x in Object.keys(obj_main)) { - console.log(x); - } - console.log(obj_main['message']['!lights']); - return returnedList + let data = atob(obj_main.message); + console.log(data); + let notDictionary = JSON.parse(data); + + return notDictionary } -var returnedCommands = GetListCommands(); +let returnedCommands = GetListCommands(); async function GetListRewards() { returnedList = await GetList("Rewards"); obj = JSON.parse(returnedList); - console.log(obj["message"]) + console.log(obj['message']) return returnedList } async function GetListTimers() { returnedList = await GetList("Timers"); obj = JSON.parse(returnedList); - console.log(obj["message"]) + console.log(obj['message']) return returnedList } async function GetListTextSources() { returnedList = await GetList("TextSources"); obj = JSON.parse(returnedList); - console.log(obj["message"]) + console.log(obj['message']) return returnedList } \ No newline at end of file