From 0c6c3cd6acc8347fe737e0d103608cf2145f9117 Mon Sep 17 00:00:00 2001 From: adator <85586985+adator85@users.noreply.github.com> Date: Sun, 2 Nov 2025 22:52:27 +0100 Subject: [PATCH] Refactoring the code, create new folder modules. --- core/base.py | 4 ---- core/classes/{ => modules}/admin.py | 0 core/classes/{ => modules}/channel.py | 0 core/classes/{ => modules}/client.py | 0 core/classes/{ => modules}/commands.py | 0 core/classes/{ => modules}/config.py | 0 core/classes/{ => modules}/rehash.py | 16 +++++++++------- core/classes/{ => modules}/reputation.py | 0 core/classes/{ => modules}/sasl.py | 0 core/classes/{ => modules}/settings.py | 0 core/classes/{ => modules}/translation.py | 0 core/classes/{ => modules}/user.py | 0 core/classes/protocols/unreal6.py | 2 +- core/irc.py | 2 +- core/loader.py | 8 ++++---- core/utils.py | 2 +- 16 files changed, 16 insertions(+), 18 deletions(-) rename core/classes/{ => modules}/admin.py (100%) rename core/classes/{ => modules}/channel.py (100%) rename core/classes/{ => modules}/client.py (100%) rename core/classes/{ => modules}/commands.py (100%) rename core/classes/{ => modules}/config.py (100%) rename core/classes/{ => modules}/rehash.py (96%) rename core/classes/{ => modules}/reputation.py (100%) rename core/classes/{ => modules}/sasl.py (100%) rename core/classes/{ => modules}/settings.py (100%) rename core/classes/{ => modules}/translation.py (100%) rename core/classes/{ => modules}/user.py (100%) diff --git a/core/base.py b/core/base.py index d56959d..77cb9cf 100644 --- a/core/base.py +++ b/core/base.py @@ -1,16 +1,12 @@ -import importlib import os import re import json -import sys import time import socket import threading import ipaddress import ast import requests -from pathlib import Path -from types import ModuleType from dataclasses import fields from typing import Any, Optional, TYPE_CHECKING from base64 import b64decode, b64encode diff --git a/core/classes/admin.py b/core/classes/modules/admin.py similarity index 100% rename from core/classes/admin.py rename to core/classes/modules/admin.py diff --git a/core/classes/channel.py b/core/classes/modules/channel.py similarity index 100% rename from core/classes/channel.py rename to core/classes/modules/channel.py diff --git a/core/classes/client.py b/core/classes/modules/client.py similarity index 100% rename from core/classes/client.py rename to core/classes/modules/client.py diff --git a/core/classes/commands.py b/core/classes/modules/commands.py similarity index 100% rename from core/classes/commands.py rename to core/classes/modules/commands.py diff --git a/core/classes/config.py b/core/classes/modules/config.py similarity index 100% rename from core/classes/config.py rename to core/classes/modules/config.py diff --git a/core/classes/rehash.py b/core/classes/modules/rehash.py similarity index 96% rename from core/classes/rehash.py rename to core/classes/modules/rehash.py index 75c5947..2f8b457 100644 --- a/core/classes/rehash.py +++ b/core/classes/modules/rehash.py @@ -11,10 +11,11 @@ if TYPE_CHECKING: REHASH_MODULES = [ 'core.definition', 'core.utils', - 'core.classes.config', + 'core.classes.modules.config', 'core.base', - 'core.classes.commands', - 'core.classes.protocols.interface', + 'core.classes.modules.commands', + 'core.classes.interfaces.iprotocol', + 'core.classes.protocols.command_handler', 'core.classes.protocols.factory', 'core.classes.protocols.unreal6', 'core.classes.protocols.inspircd' @@ -32,10 +33,6 @@ def restart_service(uplink: 'Irc', reason: str = "Restarting with no reason!") - for module in uplink.ModuleUtils.model_get_loaded_modules().copy(): uplink.ModuleUtils.unload_one_module(uplink, module.module_name) - uplink.ModuleUtils.model_clear() # Clear loaded modules. - uplink.User.UID_DB.clear() # Clear User Object - uplink.Channel.UID_CHANNEL_DB.clear() # Clear Channel Object - uplink.Client.CLIENT_DB.clear() # Clear Client object uplink.Base.garbage_collector_thread() uplink.Logs.debug(f'[{uplink.Config.SERVICE_NICKNAME} RESTART]: Reloading configuration!') @@ -58,6 +55,11 @@ def restart_service(uplink: 'Irc', reason: str = "Restarting with no reason!") - uplink.Protocol = uplink.Loader.PFactory.get() uplink.Protocol.register_command() + uplink.ModuleUtils.model_clear() # Clear loaded modules. + uplink.User.UID_DB.clear() # Clear User Object + uplink.Channel.UID_CHANNEL_DB.clear() # Clear Channel Object + uplink.Client.CLIENT_DB.clear() # Clear Client object + uplink.init_service_user() uplink.Utils.create_socket(uplink) uplink.Protocol.send_link() diff --git a/core/classes/reputation.py b/core/classes/modules/reputation.py similarity index 100% rename from core/classes/reputation.py rename to core/classes/modules/reputation.py diff --git a/core/classes/sasl.py b/core/classes/modules/sasl.py similarity index 100% rename from core/classes/sasl.py rename to core/classes/modules/sasl.py diff --git a/core/classes/settings.py b/core/classes/modules/settings.py similarity index 100% rename from core/classes/settings.py rename to core/classes/modules/settings.py diff --git a/core/classes/translation.py b/core/classes/modules/translation.py similarity index 100% rename from core/classes/translation.py rename to core/classes/modules/translation.py diff --git a/core/classes/user.py b/core/classes/modules/user.py similarity index 100% rename from core/classes/user.py rename to core/classes/modules/user.py diff --git a/core/classes/protocols/unreal6.py b/core/classes/protocols/unreal6.py index ade1865..e239a7b 100644 --- a/core/classes/protocols/unreal6.py +++ b/core/classes/protocols/unreal6.py @@ -8,7 +8,7 @@ from core.classes.interfaces.iprotocol import IProtocol from core.utils import tr if TYPE_CHECKING: - from core.classes.sasl import Sasl + from core.classes.modules.sasl import Sasl from core.definition import MClient, MSasl, MUser, MChannel from core.loader import Loader diff --git a/core/irc.py b/core/irc.py index 1888b2a..2fd8616 100644 --- a/core/irc.py +++ b/core/irc.py @@ -6,7 +6,7 @@ import time from ssl import SSLSocket from datetime import datetime, timedelta from typing import TYPE_CHECKING, Any, Optional, Union -from core.classes import rehash +from core.classes.modules import rehash from core.classes.interfaces.iprotocol import IProtocol from core.utils import tr diff --git a/core/loader.py b/core/loader.py index 4953940..1608d87 100644 --- a/core/loader.py +++ b/core/loader.py @@ -1,13 +1,13 @@ from logging import Logger -from core.classes.settings import global_settings -from core.classes import translation, user, admin, client, channel, reputation, settings, sasl +from core.classes.modules.settings import global_settings +from core.classes.modules import translation, user, admin, client, channel, reputation, settings, sasl import core.logs as logs import core.definition as df import core.utils as utils import core.base as base_mod import core.module as module_mod -import core.classes.commands as commands_mod -import core.classes.config as conf_mod +import core.classes.modules.commands as commands_mod +import core.classes.modules.config as conf_mod import core.irc as irc import core.classes.protocols.factory as factory diff --git a/core/utils.py b/core/utils.py index bbfca6f..bf2a397 100644 --- a/core/utils.py +++ b/core/utils.py @@ -13,7 +13,7 @@ from datetime import datetime, timedelta, timezone from time import time from random import choice from hashlib import md5, sha3_512 -from core.classes.settings import global_settings +from core.classes.modules.settings import global_settings if TYPE_CHECKING: from core.irc import Irc