Added libs

This commit is contained in:
Lucas
2026-01-25 13:55:46 +10:00
parent 575c682afc
commit f70af3c4ea
229 changed files with 26983 additions and 0 deletions

70
noSys/noSys.py Normal file
View File

@@ -0,0 +1,70 @@
import time
from .noSysModule import NoSysModule
from .peers import Peer
from .events import Events, DynamicEvents
from libs.noSys.noSysApiBlueprint import Blueprint
from libs.noSys.noSysSocketio import HandlerSocketio
class NoSys(NoSysModule):
"""Core module of NoSys that handles system-level messages."""
def __init__(self, nosys_core):
super().__init__(nosys_core)
self.nosys_core.subscribe_event(Events.USER_ADDED, self.on_user_added)
self.nosys_core.subscribe_event(Events.PEER_CONNECTED, self.on_peer_connected)
def setup(self):
self.nosys_core.modules.api.register_blueprint(Blueprint(self).blueprint)
self.socketio = HandlerSocketio(self)
self.nosys_core.modules.api.register_socketio(self.socketio)
def on_nosys_ready(self, event):
pass
def on_user_added(self, event):
user_id:str = event.user_id
user_data = self.nosys_core.data.get_user(user_id)
if not user_data:
user_data = self.nosys_core.data.add_user(user_id)
def on_peer_connected(self, event):
peer:Peer = event.peer
self.send_info(peer.id)
def on_module_message(self, event):
handler_action = getattr(self, 'on_'+event.data.get("action"))
handler_action(event)
def send_info(self, peer_id):
modules = []
for key, module in self.nosys_core.modules.modules.items():
modules.append({"package":module.package_id, "module":module.module_id})
networks = []
for network in self.nosys_core.data.list_networks():
networks.append({"id":network.get("id")})
self.nosys_core.dispatcher.send_message({'action':'info','modules':modules, 'networks':networks}, peer_id, self.id)
def on_info(self, event):
peer: Peer = event.peer
modules = event.data['modules']
for module in modules:
lib = module.get("package")
module = module.get("module")
peer.modules[(lib, module)] = module
self.nosys_core.fire_event(DynamicEvents.module_connection(lib, module), peer=event.peer)
networks = event.data['networks']
for network in networks:
network_id = network.get("id")
peer.networks[network_id] = network
my_net = self.nosys_core.data.get_network(network_id)
if my_net:
self.nosys_core.fire_event(DynamicEvents.network_connection(network_id), network_id=network_id, peer=event.peer)
def on_module_connection(self, event):
pass