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 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

View File

@@ -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()

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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