Linux boca.hozzt.com 4.18.0-553.8.1.lve.el8.x86_64 #1 SMP Thu Jul 4 16:24:39 UTC 2024 x86_64
LiteSpeed
: 159.253.39.62 | : 3.16.218.116
Cant Read [ /etc/named.conf ]
7.4.33
renovkoron
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
opt /
cloudlinux /
venv /
lib /
python3.11 /
site-packages /
pylint /
pyreverse /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
__init__.py
274
B
-rw-r--r--
diadefslib.py
8.5
KB
-rw-r--r--
diagrams.py
10.62
KB
-rw-r--r--
dot_printer.py
6.33
KB
-rw-r--r--
inspector.py
14.72
KB
-rw-r--r--
main.py
8.76
KB
-rw-r--r--
mermaidjs_printer.py
3.47
KB
-rw-r--r--
plantuml_printer.py
3.56
KB
-rw-r--r--
printer.py
3.65
KB
-rw-r--r--
printer_factory.py
900
B
-rw-r--r--
utils.py
8.13
KB
-rw-r--r--
vcg_printer.py
8.67
KB
-rw-r--r--
writer.py
6.09
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : plantuml_printer.py
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt """Class to generate files in dot format and image formats supported by Graphviz.""" from __future__ import annotations from pylint.pyreverse.printer import EdgeType, Layout, NodeProperties, NodeType, Printer from pylint.pyreverse.utils import get_annotation_label class PlantUmlPrinter(Printer): """Printer for PlantUML diagrams.""" DEFAULT_COLOR = "black" NODES: dict[NodeType, str] = { NodeType.CLASS: "class", NodeType.INTERFACE: "class", NodeType.PACKAGE: "package", } ARROWS: dict[EdgeType, str] = { EdgeType.INHERITS: "--|>", EdgeType.IMPLEMENTS: "..|>", EdgeType.ASSOCIATION: "--*", EdgeType.AGGREGATION: "--o", EdgeType.USES: "-->", } def _open_graph(self) -> None: """Emit the header lines.""" self.emit("@startuml " + self.title) if not self.use_automatic_namespace: self.emit("set namespaceSeparator none") if self.layout: if self.layout is Layout.LEFT_TO_RIGHT: self.emit("left to right direction") elif self.layout is Layout.TOP_TO_BOTTOM: self.emit("top to bottom direction") else: raise ValueError( f"Unsupported layout {self.layout}. PlantUmlPrinter only " "supports left to right and top to bottom layout." ) def emit_node( self, name: str, type_: NodeType, properties: NodeProperties | None = None, ) -> None: """Create a new node. Nodes can be classes, packages, participants etc. """ if properties is None: properties = NodeProperties(label=name) stereotype = " << interface >>" if type_ is NodeType.INTERFACE else "" nodetype = self.NODES[type_] if properties.color and properties.color != self.DEFAULT_COLOR: color = f" #{properties.color}" else: color = "" body = [] if properties.attrs: body.extend(properties.attrs) if properties.methods: for func in properties.methods: args = self._get_method_arguments(func) line = "{abstract}" if func.is_abstract() else "" line += f"{func.name}({', '.join(args)})" if func.returns: line += " -> " + get_annotation_label(func.returns) body.append(line) label = properties.label if properties.label is not None else name if properties.fontcolor and properties.fontcolor != self.DEFAULT_COLOR: label = f"<color:{properties.fontcolor}>{label}</color>" self.emit(f'{nodetype} "{label}" as {name}{stereotype}{color} {{') self._inc_indent() for line in body: self.emit(line) self._dec_indent() self.emit("}") def emit_edge( self, from_node: str, to_node: str, type_: EdgeType, label: str | None = None, ) -> None: """Create an edge from one node to another to display relationships.""" edge = f"{from_node} {self.ARROWS[type_]} {to_node}" if label: edge += f" : {label}" self.emit(edge) def _close_graph(self) -> None: """Emit the lines needed to properly close the graph.""" self.emit("@enduml")
Close