Config und logging eingebaut
This commit is contained in:
parent
b6965971ac
commit
deb7a85474
3 changed files with 50 additions and 6 deletions
5
app/cfg/settings.yaml
Normal file
5
app/cfg/settings.yaml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
log_file: "server.log"
|
||||
log_level: "DEBUG"
|
||||
server_ip: "0.0.0.0"
|
||||
server_port: 8000
|
||||
task_max: 1
|
||||
27
app/class_settings.py
Normal file
27
app/class_settings.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import logging
|
||||
import yaml
|
||||
|
||||
class Settings:
|
||||
def __init__(self):
|
||||
self.yaml = None
|
||||
self.read()
|
||||
|
||||
def read(self):
|
||||
with open("app/cfg/settings.yaml", "r", encoding="utf-8") as file:
|
||||
self.yaml = yaml.safe_load(file)
|
||||
|
||||
|
||||
def write(self):
|
||||
with open("app/cfg/settings.yaml", "w", encoding="utf8") as file:
|
||||
yaml.dump(self.yaml, file, default_flow_style=False, indent=4)
|
||||
|
||||
def set_logging(self):
|
||||
print(self.yaml)
|
||||
logging.basicConfig(
|
||||
level=self.yaml["log_level"],
|
||||
format="%(asctime)s - %(levelname)s - %(message)s",
|
||||
handlers=[
|
||||
logging.StreamHandler(),
|
||||
logging.FileHandler(f"app/logs/{self.yaml['log_file']}")
|
||||
]
|
||||
)
|
||||
|
|
@ -1,10 +1,15 @@
|
|||
import websockets
|
||||
import asyncio
|
||||
import json
|
||||
|
||||
from app.class_settings import Settings
|
||||
|
||||
class Server:
|
||||
def __init__(self):
|
||||
self.ip = "0.0.0.0"
|
||||
self.port = 8000
|
||||
obj_settings = Settings()
|
||||
obj_settings.set_logging()
|
||||
|
||||
self.yaml = obj_settings.yaml
|
||||
|
||||
try:
|
||||
asyncio.run(self.start())
|
||||
|
|
@ -18,13 +23,20 @@ class Server:
|
|||
async for message in websocket:
|
||||
print(f"Server hat Empfangen: {message}")
|
||||
|
||||
response = f"Server antwortet: {message.upper()}"
|
||||
await websocket.send(response)
|
||||
data = json.loads(message)
|
||||
|
||||
if data.get("data_path"):
|
||||
pass
|
||||
elif data.get("data_command"):
|
||||
pass
|
||||
|
||||
#response = f"Server antwortet: {message.upper()}"
|
||||
#await websocket.send(response)
|
||||
|
||||
except websockets.exceptions.ConnectionClosed:
|
||||
print("Server sagt: Client getrennt")
|
||||
|
||||
async def start(self):
|
||||
server = await websockets.serve(self.handle_client, self.ip, self.port)
|
||||
print(f"Websocket Server läuft auf IP: {self.ip} Port: {self.port}")
|
||||
server = await websockets.serve(self.handle_client, self.yaml['server_ip'], self.yaml['server_port'])
|
||||
print(f"Websocket Server läuft auf IP: {self.yaml['server_ip']} Port: {self.yaml['server_port']}")
|
||||
await server.wait_closed()
|
||||
Loading…
Reference in a new issue