X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/bin
opt
/
cloudlinux
/
venv
/
bin
/
??
..
??
Activate.ps1
(8.82 KB)
??
activate
(1.65 KB)
??
activate.csh
(915 B)
??
activate.fish
(2.14 KB)
??
alembic
(202 B)
??
cagefs_enter_site.py
(1.83 KB)
??
cagefsctl_user.py
(12.89 KB)
??
chardetect
(210 B)
??
cl_sysctl
(4.51 KB)
??
clcpapi
(3.64 KB)
??
coverage
(204 B)
??
coverage-3.11
(204 B)
??
coverage3
(204 B)
??
cpanel-dbmapping
(3.83 KB)
??
crontab-user-wrapper.py
(2.46 KB)
??
da_suid_caller.py
(686 B)
??
detect-requirements
(211 B)
??
dodgy
(197 B)
??
epylint
(208 B)
??
f2py
(205 B)
??
f2py3
(205 B)
??
f2py3.11
(205 B)
??
flake8
(203 B)
??
futurize
(204 B)
??
get_gprof
(1.84 KB)
??
get_objgraph
(1.63 KB)
??
isort
(198 B)
??
isort-identify-imports
(232 B)
??
jsonschema
(202 B)
??
lvestats_config_reader.py
(1.12 KB)
??
mako-render
(202 B)
??
normalizer
(233 B)
??
pasteurize
(206 B)
??
pip
(237 B)
??
pip3
(237 B)
??
pip3.11
(237 B)
??
plesk_suid_caller.py
(905 B)
??
prospector
(202 B)
??
py.test
(210 B)
??
pycodestyle
(201 B)
??
pydocstyle
(202 B)
??
pyflakes
(200 B)
??
pylint
(206 B)
??
pylint-config
(222 B)
??
pyreverse
(212 B)
??
pysemver
(198 B)
??
pytest
(210 B)
??
python
(15.59 KB)
??
python3
(15.59 KB)
??
python3.11
(15.59 KB)
??
raven
(208 B)
??
symilar
(208 B)
??
tap
(196 B)
??
tappy
(196 B)
??
undill
(603 B)
??
virtualenv
(227 B)
Editing: clcpapi
#!/opt/cloudlinux/venv/bin/python3 -bb # -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ CloudLinux control panel API command line interface """ import argparse from clcommon import cpapi from clcommon.cloutput import prepare_data_json, prepare_attention_json from clcommon.cpapi import cpapiexceptions def cpapi_parser(): parser = argparse.ArgumentParser(description="%(prog)s - CloudLinux control panel API command line interface") parser.add_argument('-j', '--json', action='store_true', default=False, help='Output in json format') subparsers = parser.add_subparsers(dest='command') docroot_parser = subparsers.add_parser('docroot') docroot_parser.add_argument('domain', help='Return document root for domain') userdomains_parser = subparsers.add_parser('userdomains') userdomains_parser.add_argument('userdomains', help='Return domain and document root pairs for control panel user') dblogin_cplogin_pairs_parser = subparsers.add_parser("dblogin_cplogin_pairs") dblogin_cplogin_pairs_parser.add_argument("--cplogin_lst", nargs="*", help="Return mapping for this system users") dblogin_cplogin_pairs_parser.add_argument("--with_system_users", action="store_true", default=False, help="Show system users in output") reseller_users = subparsers.add_parser("reseller-users", help="Show reseller users") reseller_users.add_argument( 'resellername', type=str, nargs='?', help='Reseller name') return parser def flat_plain(data, sep=' '): return '\n'.join([sep.join(tuple_) for tuple_ in data]) def main(): parser = cpapi_parser() namespace = parser.parse_args() output_ = None exit_code = 0 try: if namespace.command == 'docroot': domain, user = cpapi.docroot(namespace.domain) if namespace.json: output_ = prepare_data_json({'domain': domain, 'user': user}) else: output_ = domain + ' ' + user elif namespace.command == 'userdomains': domain_docroot_pairs = cpapi.userdomains(namespace.userdomains) if namespace.json: data = [{'domain': domain_docroot[0], 'docroot': domain_docroot[1]} for domain_docroot in domain_docroot_pairs] output_ = prepare_data_json(data) else: output_ = flat_plain(domain_docroot_pairs) elif namespace.command == 'dblogin_cplogin_pairs': db_mapping = cpapi.dblogin_cplogin_pairs(namespace.cplogin_lst, namespace.with_system_users) if namespace.json: output_ = prepare_data_json(db_mapping) else: output_ = flat_plain(db_mapping) elif namespace.command == 'reseller-users': users = cpapi.reseller_users(namespace.resellername) if namespace.json: output_ = prepare_data_json(users) else: output_ = '\n'.join(users) except cpapiexceptions.CPAPIException as e_: if namespace.json: output_ = prepare_attention_json(str(e_)) else: exit_code = 1 output_ = 'ERROR: ' + str(e_) return output_, exit_code if __name__ == '__main__': import sys output_, exit_code = main() if output_: print(output_) if exit_code: sys.exit(exit_code)
Upload File
Create Folder