POC state of core_daemon. With to example modules.
This commit is contained in:
25
modules/extra_commands.py
Normal file
25
modules/extra_commands.py
Normal 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
37
modules/http_service.py
Normal 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()
|
Reference in New Issue
Block a user