Refactoring the code, create new folder modules.

This commit is contained in:
adator
2025-11-02 22:52:27 +01:00
parent 0e6384c26c
commit 0c6c3cd6ac
16 changed files with 16 additions and 18 deletions

View File

@@ -1,16 +1,12 @@
import importlib
import os import os
import re import re
import json import json
import sys
import time import time
import socket import socket
import threading import threading
import ipaddress import ipaddress
import ast import ast
import requests import requests
from pathlib import Path
from types import ModuleType
from dataclasses import fields from dataclasses import fields
from typing import Any, Optional, TYPE_CHECKING from typing import Any, Optional, TYPE_CHECKING
from base64 import b64decode, b64encode from base64 import b64decode, b64encode

View File

@@ -11,10 +11,11 @@ if TYPE_CHECKING:
REHASH_MODULES = [ REHASH_MODULES = [
'core.definition', 'core.definition',
'core.utils', 'core.utils',
'core.classes.config', 'core.classes.modules.config',
'core.base', 'core.base',
'core.classes.commands', 'core.classes.modules.commands',
'core.classes.protocols.interface', 'core.classes.interfaces.iprotocol',
'core.classes.protocols.command_handler',
'core.classes.protocols.factory', 'core.classes.protocols.factory',
'core.classes.protocols.unreal6', 'core.classes.protocols.unreal6',
'core.classes.protocols.inspircd' '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(): for module in uplink.ModuleUtils.model_get_loaded_modules().copy():
uplink.ModuleUtils.unload_one_module(uplink, module.module_name) 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.Base.garbage_collector_thread()
uplink.Logs.debug(f'[{uplink.Config.SERVICE_NICKNAME} RESTART]: Reloading configuration!') 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 = uplink.Loader.PFactory.get()
uplink.Protocol.register_command() 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.init_service_user()
uplink.Utils.create_socket(uplink) uplink.Utils.create_socket(uplink)
uplink.Protocol.send_link() uplink.Protocol.send_link()

View File

@@ -8,7 +8,7 @@ from core.classes.interfaces.iprotocol import IProtocol
from core.utils import tr from core.utils import tr
if TYPE_CHECKING: 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.definition import MClient, MSasl, MUser, MChannel
from core.loader import Loader from core.loader import Loader

View File

@@ -6,7 +6,7 @@ import time
from ssl import SSLSocket from ssl import SSLSocket
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import TYPE_CHECKING, Any, Optional, Union 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.classes.interfaces.iprotocol import IProtocol
from core.utils import tr from core.utils import tr

View File

@@ -1,13 +1,13 @@
from logging import Logger from logging import Logger
from core.classes.settings import global_settings from core.classes.modules.settings import global_settings
from core.classes import translation, user, admin, client, channel, reputation, settings, sasl from core.classes.modules import translation, user, admin, client, channel, reputation, settings, sasl
import core.logs as logs import core.logs as logs
import core.definition as df import core.definition as df
import core.utils as utils import core.utils as utils
import core.base as base_mod import core.base as base_mod
import core.module as module_mod import core.module as module_mod
import core.classes.commands as commands_mod import core.classes.modules.commands as commands_mod
import core.classes.config as conf_mod import core.classes.modules.config as conf_mod
import core.irc as irc import core.irc as irc
import core.classes.protocols.factory as factory import core.classes.protocols.factory as factory

View File

@@ -13,7 +13,7 @@ from datetime import datetime, timedelta, timezone
from time import time from time import time
from random import choice from random import choice
from hashlib import md5, sha3_512 from hashlib import md5, sha3_512
from core.classes.settings import global_settings from core.classes.modules.settings import global_settings
if TYPE_CHECKING: if TYPE_CHECKING:
from core.irc import Irc from core.irc import Irc