docker
This commit is contained in:
10
src/server/Dockerfile
Normal file
10
src/server/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
FROM python:3.10
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD ["python", "main.py"]
|
||||
52
src/server/main.py
Normal file
52
src/server/main.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import datetime
|
||||
from http.server import HTTPServer, BaseHTTPRequestHandler
|
||||
import json
|
||||
from threading import Thread
|
||||
from src.db import *
|
||||
import psycopg2
|
||||
|
||||
|
||||
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
|
||||
|
||||
def __writeLog(self, text: str, printOnConsole=True):
|
||||
now = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
|
||||
try:
|
||||
with open(f"spritpreise.log", "a") as logs:
|
||||
logs.write(f"[{now}] {text}\n")
|
||||
except Exception as e:
|
||||
print(f"Error occurred: {e}")
|
||||
|
||||
if printOnConsole:
|
||||
print(f"[{now}] {text}\n")
|
||||
|
||||
def sendResponse(self, responseCode=200, responseText="OK"):
|
||||
self.send_response(responseCode)
|
||||
self.send_header('Content-type', 'application/json')
|
||||
self.end_headers()
|
||||
response = {"message": responseText}
|
||||
self.wfile.write(json.dumps(response).encode())
|
||||
|
||||
|
||||
def do_POST(self):
|
||||
try:
|
||||
content_length = int(self.headers['Content-Length'])
|
||||
data = json.loads(self.rfile.read(content_length))
|
||||
self.__writeLog(f"Received data: {data}")
|
||||
|
||||
Thread(target=self.executeCode, args=(data,)).start()
|
||||
self.sendResponse()
|
||||
except Exception as e:
|
||||
self.__writeLog(f"Error occurred: {e}")
|
||||
self.sendResponse(500, str(e))
|
||||
|
||||
|
||||
def executeCode(self, data):
|
||||
self.sendResponse()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
port = 9045
|
||||
server_address = ('', port)
|
||||
httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)
|
||||
print(f"Server running on port {port}")
|
||||
httpd.serve_forever()
|
||||
1
src/server/requirements.txt
Normal file
1
src/server/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
psycopg2
|
||||
@@ -66,7 +66,7 @@ class Spritpreise:
|
||||
now = ""
|
||||
try:
|
||||
now = datetime.now().strftime("%Y/%m/%d %H:%M:%S")
|
||||
with open(f"{self.currentFolder}\\spritpreise.log", "a") as logs:
|
||||
with open(os.path.join(self.currentFolder, "spritpreise.log"), "a") as logs:
|
||||
logs.write(f"[{now}] {text}\n")
|
||||
except Exception as e:
|
||||
print(f"Error occurred: {e}")
|
||||
Reference in New Issue
Block a user