✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ premium290.web-hosting.com ​🇻​♯➤ 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 63.250.38.37 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.217.165
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/cloudlinux/venv/lib/python3.11/site-packages/clconfigure//packages.py
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# https://cloudlinux.com/docs/LICENCE.TXT
#
import logging
import os
import re

from clcommon.utils import is_ubuntu
from clconfigure import task, run

STATE_REMOVED = 'uninstalled'
STATE_INSTALLED = 'installed'


@task("Erasing package '{package_name}'")
def erase_package(package_name):
    if is_ubuntu():
        run(['dpkg', '--purge', '--force-depends', package_name])
    else:
        run(['rpm', '--erase', '--nodeps', package_name])

    current_state = get_package_state(package_name)

    logging.info("Checking package '%s' state again... package is now in state '%s'", package_name, current_state)
    if STATE_REMOVED != current_state:
        raise RuntimeError("Failed to do required actions")


@task("Changing package '{package_name}' state to '{desired_state}'")
def set_package_state(desired_state, package_name):
    """
    Brings package to given state (installed | uninstalled).
    May be executed more than once, doesn't crash on future calls
    """
    current_state = get_package_state(package_name)
    logging.debug("Checking package '%s' state... package is in state '%s'", package_name, current_state)

    if desired_state == current_state:
        logging.debug("No actions needed for package '%s'", package_name)
        return

    logging.info('State does not match target, changing...')
    if desired_state == STATE_REMOVED:
        if is_ubuntu():
            run(['apt-get', 'purge', '-y', package_name])
        else:
            run(['yum', 'remove', '-y', package_name])
    elif desired_state == STATE_INSTALLED:
        if is_ubuntu():
            run(['apt-get', 'install', '-y', package_name])
        else:
            run(['yum', 'install', '-y', package_name])
    else:
        raise NotImplementedError()

    current_state = get_package_state(package_name)
    logging.info("Checking package '%s' state again... package is now in state '%s'", package_name, current_state)
    if desired_state != current_state:
        raise RuntimeError("Failed to do required actions")


@task("(Re)installing package '{package_name}'")
def install_package(package_name: str, reinstall: bool = False):
    state = get_package_state(package_name)
    if state == STATE_INSTALLED and reinstall:
        cmd = ['apt-get' if is_ubuntu() else 'yum', 'reinstall', '-y', package_name]
    elif state == STATE_REMOVED:
        cmd = ['apt-get' if is_ubuntu() else 'yum', 'install', '-y', package_name]
    else:
        return
    run(cmd)


def get_package_state(package):
    """
    Gets current package state.
    Either installed or uninstalled.
    """
    if is_ubuntu():
        resp = run(['dpkg', '-s', package])
        if resp.exitcode == 0 and 'Status: install ok installed' in resp.stdout:
            return STATE_INSTALLED
        return STATE_REMOVED

    resp = run(['rpm', '-qv', package])
    return STATE_INSTALLED if resp.exitcode == 0 else STATE_REMOVED


def get_list_installed_alt_phps():
    """
    Gets installed alt-phps
    return: list ['php44', 'php54', 'php80']
    """
    return [php for php in os.listdir('/opt/alt') if re.match(r'^php\d+$', php)]


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
8 Jul 2026 7.02 AM
root / root
0755
__pycache__
--
23 Jun 2026 7.05 AM
root / root
0755
cli
--
23 Jun 2026 7.00 AM
root / root
0755
spec
--
23 Jun 2026 7.00 AM
root / root
0755
Readme.md
1.606 KB
3 Jun 2026 12.08 PM
root / root
0644
__init__.py
3.116 KB
3 Jun 2026 12.08 PM
root / root
0644
awp.py
1.755 KB
3 Jun 2026 12.08 PM
root / root
0644
cagefs.py
1.81 KB
3 Jun 2026 12.08 PM
root / root
0644
clpro.py
0.848 KB
3 Jun 2026 12.08 PM
root / root
0644
files.py
0.911 KB
3 Jun 2026 12.08 PM
root / root
0644
limits.py
2.855 KB
3 Jun 2026 12.08 PM
root / root
0644
linksafe.py
1.755 KB
3 Jun 2026 12.08 PM
root / root
0644
lve.py
0.942 KB
3 Jun 2026 12.08 PM
root / root
0644
packages.py
3.18 KB
3 Jun 2026 12.08 PM
root / root
0644
services.py
2.29 KB
3 Jun 2026 12.08 PM
root / root
0644
watcher.py
4.938 KB
3 Jun 2026 12.08 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF