POC state of core_daemon. With to example modules.

This commit is contained in:
kalzu rekku
2024-08-05 22:12:43 +03:00
parent ff00e4a2bc
commit 30ec739e8a
5 changed files with 267 additions and 0 deletions

25
modules/extra_commands.py Normal file
View File

@ -0,0 +1,25 @@
class ExtraCommands:
@staticmethod
def do_greet(args):
"""Greet someone: greet <name>"""
name = args if args else "World"
return f"Hello, {name}!"
@staticmethod
def do_reverse(args):
"""Reverse a string: reverse <string>"""
return args[::-1]
@staticmethod
def do_count(args):
"""Count words in a string: count <string>"""
return str(len(args.split()))
commands = {
'greet': ExtraCommands.do_greet,
'reverse': ExtraCommands.do_reverse,
'count': ExtraCommands.do_count,
}
def get_commands():
return commands

37
modules/http_service.py Normal file
View File

@ -0,0 +1,37 @@
from http.server import HTTPServer, BaseHTTPRequestHandler
import threading
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(b'Hello, World!')
class HTTPService:
def __init__(self, host='localhost', port=8000):
self.host = host
self.port = port
self.server = None
self.thread = None
def start(self):
self.server = HTTPServer((self.host, self.port), SimpleHTTPRequestHandler)
self.thread = threading.Thread(target=self.server.serve_forever)
self.thread.start()
print(f"HTTP service started on http://{self.host}:{self.port}")
def stop(self):
if self.server:
self.server.shutdown()
self.server.server_close()
self.thread.join()
print("HTTP service stopped")
http_service = HTTPService()
def initialize():
http_service.start()
def shutdown():
http_service.stop()