!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/5.6.40 

uname -a: Linux cpanel06wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24
01:42:00 EDT 2020 x86_64
 

uid=851(cp949260) gid=853(cp949260) groups=853(cp949260) 

Safe-mode: OFF (not secure)

/opt/alt/python37/lib/python3.7/site-packages/clpackages/   drwxr-xr-x
Free 232.31 GB of 981.82 GB (23.66%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     cl_packages_arg_parse.py (4.28 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- coding: utf-8 -*-

# Command line arguments parser for cloudlinux-packages utility

# cloudlinux-packages Utility to control lvectl packages
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

from __future__ import absolute_import
from docopt import docopt
from docopt import DocoptExit
from schema import Schema, And, Or, SchemaError


def parse_cloudlinux_packages_opts(argv, _is_json_need=False):
    """
    Parse arguments for cloudlinux-packages command
    :param argv: sys.argv
    :param _is_json_need: sys.argv contains --json key
    :return cortege: (error_flag, s_message)
    """
    # program name
    prog_name = "cloudlinux-packages"
    docstring = """Utility to get/set any Cloudlinux package limits

Usage:
   {0} [get] [--json] [--provider <str> | --for-reseller <str>] [--package <str>] [--limits=<keys>] [--human-readable-numbers]
   {0} set [--json] (--provider <str> --package <str>) [--speed <str> --pmem <str> --vmem <str> --nproc <str> --maxEntryProcs <str> --io <str> --iops <str> --inodes <N,M>]
   {0} set [--json] (--for-reseller <str> --package <str>) [--speed <str> --pmem <str> --vmem <str> --nproc <str> --maxEntryProcs <str> --io <str> --iops <str> --inodes <N,M>]
   {0} (-h | --help)

Options:
    --json                              Return data in JSON format.
    --provider <str>                    Show data only for specific reseller.
    --for-reseller <str>                Show data only for specific reseller.
    --package <str>                     Show data only for specific package. Use only with --provider
                                        WARNING: package name must be unicode-escaped string
    --limits <keys>                     Available keys: speed, nproc, pmem, vmem, maxEntryProcs, io,
                                                        iops, inodes
    --human-readable-numbers            Return PMEM and VMEM limits in KBytes, MBytes or GBytes
    --speed <str>                       Limit CPU usage for LVE.
    --pmem <str>                        Limit physical memory usage for applications inside LVE.
    --vmem <str>                        Limit virtual memory for applications inside LVE.
    --nproc <str>                       Limit number of processes for LVE.
    --maxEntryProcs <str>               Limit number of entry processes for LVE.
    --io <str>                          Define io limits for LVE (KB/s).
    --iops <str>                        Limit io per second for LVE.
    --inodes <N,M>                      Set inode limits. N - soft, M - hard.
    -h, --help                          Show this help message and exit
""".format(prog_name)
    try:
        args = docopt(docstring, argv)
    except DocoptExit:
        s_error_string = 'ERROR: Invalid parameter passed'
        if not _is_json_need:
            s_error_string += "\n\n" + docstring
        return False, s_error_string
    # get mode by default
    if not args["get"] and not args["set"]:
        args["get"] = True
    if args['--for-reseller']:
        # --for-reseller option found, convert it to --provider
        args['--provider'] = args['--for-reseller']

    s = Schema({
        "get": bool,
        "set": bool,
        "--json": And(bool, lambda x: x, error="use --json option, other modes currently unsupported"),
        "--provider": Or(None, str),
        "--for-reseller": Or(None, str),
        "--package": Or(None, str),
        "--limits": Or(None, _limits_keys_validate, error="Invalid keys"),
        "--speed": Or(None, str),
        "--pmem": Or(None, str),
        "--vmem": Or(None, str),
        "--nproc": Or(None, str),
        "--maxEntryProcs": Or(None, str),
        "--io": Or(None, str),
        "--iops": Or(None, str),
        "--inodes": Or(None, str),
        "--help": bool,
        "--human-readable-numbers": bool,
    })

    try:
        args = s.validate(args)
        status = True
    except SchemaError as e:
        args = str(e)
        status = False
    return status, args


_AVAILABLE_KEYS_LIST = ["speed", "nproc", "pmem", "vmem", "maxEntryProcs", "io", "iops", "inodes"]


def _limits_keys_validate(keys):
    """
    Validate limits keys
    """
    return len(set(keys.split(",")) - set(_AVAILABLE_KEYS_LIST)) == 0

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0272 ]--