in scripts/awsicons/icon.py [0:0]
def generate_puml(self, path):
"""Generate puml file for service"""
puml_content = PUML_LICENSE_HEADER
# Start plantuml.jar and encode sprite from main PNG
try:
target = self.target
color = self.color
result = subprocess.run(
[
"java",
"-jar",
"-Djava.awt.headless=true",
"./plantuml.jar",
"-encodesprite",
"16z",
f"{path}/{target}.png",
],
shell=False,
stdout=PIPE,
stderr=PIPE,
)
puml_content += result.stdout.decode("UTF-8")
puml_content += f"AWSEntityColoring({target})\n"
puml_content += f"!define {target}(e_alias, e_label, e_techn) AWSEntity(e_alias, e_label, e_techn, {color}, {target}, {target})\n"
puml_content += f"!define {target}(e_alias, e_label, e_techn, e_descr) AWSEntity(e_alias, e_label, e_techn, e_descr, {color}, {target}, {target})\n"
puml_content += f"!define {target}Participant(p_alias, p_label, p_techn) AWSParticipant(p_alias, p_label, p_techn, {color}, {target}, {target})\n"
puml_content += f"!define {target}Participant(p_alias, p_label, p_techn, p_descr) AWSParticipant(p_alias, p_label, p_techn, p_descr, {color}, {target}, {target})\n"
with open(f"{path}/{target}.puml", "w") as f:
f.write(puml_content)
except Exception as e:
print(f"Error executing plantuml jar file, {e}")
sys.exit(1)