Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
uaclient /
cli /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
api.py
2.4
KB
-rw-r--r--
attach.py
5.48
KB
-rw-r--r--
auto_attach.py
958
B
-rw-r--r--
cli_util.py
8.08
KB
-rw-r--r--
collect_logs.py
1.6
KB
-rw-r--r--
commands.py
3.68
KB
-rw-r--r--
config.py
10.72
KB
-rw-r--r--
cve.py
6.73
KB
-rw-r--r--
cves.py
3.78
KB
-rw-r--r--
detach.py
3.38
KB
-rw-r--r--
disable.py
10.65
KB
-rw-r--r--
enable.py
17.02
KB
-rw-r--r--
fix.py
28.63
KB
-rw-r--r--
formatter.py
8.75
KB
-rw-r--r--
help.py
1.67
KB
-rw-r--r--
__init__.py
9.28
KB
-rw-r--r--
parser.py
2.72
KB
-rw-r--r--
refresh.py
2.42
KB
-rw-r--r--
security_status.py
2.79
KB
-rw-r--r--
status.py
2.37
KB
-rw-r--r--
system.py
1.05
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : commands.py
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)
Close