X7ROOT File Manager
Current Path:
/usr/lib/python3.6/site-packages/up2date_client
usr
/
lib
/
python3.6
/
site-packages
/
up2date_client
/
??
..
??
__init__.py
(0 B)
??
__pycache__
??
clpwd.py
(3.56 KB)
??
config.py
(13.26 KB)
??
hardware.py
(5.09 KB)
??
pkgplatform.py
(309 B)
??
rhncli.py
(7.46 KB)
??
rhnreg.py
(10.52 KB)
??
rhnserver.py
(8.54 KB)
??
rpcServer.py
(11.1 KB)
??
statistics.py
(1.27 KB)
??
up2dateAuth.py
(10.49 KB)
??
up2dateErrors.py
(7.99 KB)
??
up2dateLog.py
(2.06 KB)
??
up2dateUtils.py
(1.73 KB)
Editing: statistics.py
import os from subprocess import PIPE, Popen def get_users_count_from_cllib(): """ Get user count using the common CloudLinux library. This number is more accurate for systems with a control panel installed. """ if not os.path.exists('/opt/cloudlinux/venv/bin'): raise ValueError("CloudLinux virtual environment not found") cmd = '/opt/cloudlinux/venv/bin/python3 -c "from clcommon.cpapi import cpusers; print(cpusers())"' process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE) output, errors = [result.decode().strip() for result in process.communicate()] if errors: raise ValueError(f"Failed to get users from CloudLinux library: {errors}") return len(output[1:-1].split(', ')) def get_users_count_generic(): """ Fallback method to get the user count by looking into the /etc/passwd file. """ from up2date_client.clpwd import ClPwd pwd = ClPwd() return len(pwd.get_uid_dict()) def count_server_users(): """ Get the total count of users on the server. Tries the CloudLinux library first, falls back to generic method if it fails. """ try: users_count = get_users_count_from_cllib() except Exception: users_count = get_users_count_generic() return users_count
Upload File
Create Folder