Files
Ultroid-fork/pyUltroid/startup/utils.py
google-labs-jules[bot] 522cf932ec fix: Address Pylint issues and bugs in pyUltroid/startup/
- Corrected undefined variable 'x' in funcs.py.
- Refactored configuration loading in funcs.py for clarity and to resolve Pylint errors.
- Changed logging f-strings to %-style formatting across multiple files.
- Added encoding='utf-8' to open() calls.
- Replaced list comprehensions used for side-effects with for-loops.
- Made some broad exception catches more specific.
- Added check=True to subprocess.run() calls in loader.py.
- Corrected function signature parameter orders (e.g., *args placement).
- Removed some unused variables and imports.
- Added Pylint disable comments for known false positives (e.g., no-member for psycopg2.errors and base class methods).
- Improved error handling and logging in funcs.py for startup sequences.
- Addressed dependency installation issues by commenting out 'pokedex' (unavailable on PyPI) and correcting case for 'SpeechRecognition' in requirements.txt.
2025-06-19 20:58:47 +00:00

100 lines
2.8 KiB
Python

# Ultroid - UserBot
# Copyright (C) 2021-2025 TeamUltroid
#
# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >
# PLease read the GNU Affero General Public License in
# <https://github.com/TeamUltroid/pyUltroid/blob/main/LICENSE>.
from importlib import util
from sys import modules
# for addons
configPaths = [
"ub",
"var",
"support",
"userbot",
"telebot",
"fridaybot",
"uniborg.util",
"telebot.utils",
"userbot.utils",
"userbot.events",
"userbot.config",
"fridaybot.utils",
"fridaybot.Config",
"userbot.uniborgConfig",
]
def load_addons(plugin_name):
base_name = plugin_name.split("/")[-1].split("\\")[-1].replace(".py", "")
if base_name.startswith("__"):
return
from pyUltroid import fns
from .. import HNDLR, LOGS, asst, udB, ultroid_bot
from .._misc import _supporter as config
from .._misc._assistant import asst_cmd, callback, in_pattern
from .._misc._decorators import ultroid_cmd
from .._misc._supporter import Config, admin_cmd, sudo_cmd
from .._misc._wrappers import eod, eor
from ..configs import Var
from ..dB._core import HELP
name = plugin_name.replace("/", ".").replace("\\", ".").replace(".py", "")
spec = util.spec_from_file_location(name, plugin_name)
mod = util.module_from_spec(spec)
for path in configPaths:
modules[path] = config
modules["pyUltroid.functions"] = fns
mod.LOG_CHANNEL = udB.get_key("LOG_CHANNEL")
mod.udB = udB
mod.asst = asst
mod.tgbot = asst
mod.ultroid_bot = ultroid_bot
mod.ub = ultroid_bot
mod.bot = ultroid_bot
mod.ultroid = ultroid_bot
mod.borg = ultroid_bot
mod.telebot = ultroid_bot
mod.jarvis = ultroid_bot
mod.friday = ultroid_bot
mod.eod = eod
mod.edit_delete = eod
mod.LOGS = LOGS
mod.in_pattern = in_pattern
mod.hndlr = HNDLR
mod.handler = HNDLR
mod.HNDLR = HNDLR
mod.CMD_HNDLR = HNDLR
mod.Config = Config
mod.Var = Var
mod.eor = eor
mod.edit_or_reply = eor
mod.asst_cmd = asst_cmd
mod.ultroid_cmd = ultroid_cmd
mod.on_cmd = ultroid_cmd
mod.callback = callback
mod.Redis = udB.get_key
mod.admin_cmd = admin_cmd
mod.sudo_cmd = sudo_cmd
mod.HELP = HELP.get("Addons", {})
mod.CMD_HELP = HELP.get("Addons", {})
spec.loader.exec_module(mod)
modules[name] = mod
doc = modules[name].__doc__.format(i=HNDLR) if modules[name].__doc__ else ""
if "Addons" in HELP.keys():
update_cmd = HELP["Addons"]
try:
update_cmd.update({base_name: doc})
except Exception: # Changed from BaseException
pass
else:
try:
HELP.update({"Addons": {base_name: doc}})
except Exception: # Changed from BaseException, removed unused 'em'
pass