__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
import argparse
from typing import Callable, Iterable, Optional, Union

from uaclient import messages
from uaclient.cli.parser import HelpCategory


class ProArgument:
    def __init__(
        self,
        long_name: str,
        help: str,
        short_name: Optional[str] = None,
        **kwargs
    ):
        self.names = (
            (long_name,) if short_name is None else (short_name, long_name)
        )
        self.help = help
        self.additional_args = kwargs

    def register(
        self, target: Union[argparse.ArgumentParser, argparse._ArgumentGroup]
    ):
        target.add_argument(
            *self.names, help=self.help, **self.additional_args
        )


class ProArgumentMutuallyExclusiveGroup:
    def __init__(
        self,
        required: bool = False,
        arguments: Iterable[ProArgument] = (),
    ):
        self.required = required
        self.arguments = arguments


class ProArgumentGroup:
    def __init__(
        self,
        title: Optional[str] = None,
        description: Optional[str] = None,
        arguments: Iterable[ProArgument] = (),
        mutually_exclusive_groups: Iterable[
            ProArgumentMutuallyExclusiveGroup
        ] = (),
    ):
        self.title = title
        self.description = description
        self.arguments = arguments
        self.mutually_exclusive_groups = mutually_exclusive_groups

    def register(self, parser: argparse.ArgumentParser):
        target = (
            parser
        )  # type: Union[argparse.ArgumentParser, argparse._ArgumentGroup]
        if self.title:
            target = parser.add_argument_group(self.title, self.description)

        for argument in self.arguments:
            argument.register(target)

        for group in self.mutually_exclusive_groups:
            new_group = target.add_mutually_exclusive_group(
                required=group.required
            )
            for argument in group.arguments:
                argument.register(new_group)


class ProCommand:
    def __init__(
        self,
        name: str,
        help: str,
        description: str,
        action: Callable = lambda *args, **kwargs: None,
        preserve_description: bool = False,
        argument_groups: Iterable[ProArgumentGroup] = (),
        subcommands: Iterable["ProCommand"] = (),
        help_category: Optional[HelpCategory] = None,
        help_position: int = 0,
    ):
        self.name = name
        self.help = help
        self.description = description
        self.action = action
        self.preserve_description = preserve_description
        self.argument_groups = argument_groups
        self.subcommands = subcommands
        self.help_category = help_category
        self.help_position = help_position

    def register(self, subparsers: argparse._SubParsersAction):
        self.parser = subparsers.add_parser(
            self.name,
            help=self.help,
            description=self.description,
        )
        if self.preserve_description:
            self.parser.formatter_class = argparse.RawDescriptionHelpFormatter

        if self.help_category:
            self.parser.add_help_entry(
                category=self.help_category,
                name=self.name,
                help_string=self.help,
                position=self.help_position,
            )

        for argument_group in self.argument_groups:
            argument_group.register(self.parser)

        self.parser.set_defaults(action=self.action)

        if self.subcommands:
            subparsers = self.parser.add_subparsers(
                title=messages.CLI_AVAILABLE_COMMANDS,
                dest="command",
            )
            for command in self.subcommands:
                command.register(subparsers)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 9.28 KB 0644
api.py File 2.4 KB 0644
attach.py File 5.48 KB 0644
auto_attach.py File 958 B 0644
cli_util.py File 8.08 KB 0644
collect_logs.py File 1.6 KB 0644
commands.py File 3.68 KB 0644
config.py File 10.72 KB 0644
cve.py File 6.73 KB 0644
cves.py File 3.78 KB 0644
detach.py File 3.38 KB 0644
disable.py File 10.65 KB 0644
enable.py File 18.81 KB 0644
fix.py File 28.63 KB 0644
formatter.py File 8.75 KB 0644
help.py File 1.67 KB 0644
parser.py File 2.72 KB 0644
refresh.py File 2.42 KB 0644
security_status.py File 2.79 KB 0644
status.py File 2.37 KB 0644
system.py File 1.05 KB 0644
Filemanager