Long boundary names render a literal "\n" in the DFD
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
- #380 de @markthomaschurch — cerrado sin fusionar
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- data-visualization
Línea de trabajo
Start by reading Element._label() and the boundary label generation described in the issue. Reproduce the case with Boundary("University of Michigan") and inspect the generated DOT label. Done means the boundary label uses HTML line breaks between escaped wrapped lines and renders on separate lines; pull request #380 is already open for this issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Long boundary names are drawn with a literal \n in the DFD instead of being split across lines.
For example, Boundary("University of Michigan") is displayed as University of\nMichigan.
Reproduction
from pytm import TM, Boundary, Server
tm = TM("example")
b = Boundary("University of Michigan")
Server("Web Server", inBoundary=b)
tm.process()
python example.py --dfd | dot -Tsvg -o dfd.svg
The generated DOT contains label = <<i>University of\nMichigan</i>>;.
Cause
Element labels are wrapped at 18 characters and the lines joined with the \n escape (Element._label()). That works for quoted labels (label = "..."). Boundaries, however, use Graphviz HTML-like labels (label = <<i>...</i>>, added for italics and escaped in #360), and HTML-like labels don't interpret \n; line breaks there must be <br/>.
Proposed fix
Build boundary labels by HTML-escaping each wrapped line and joining the lines with <br/>.
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 237
- Merge medio
- 4 d 2 h
- PR fusionados (30 d)
- 9
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OWASP/pytm
-
Dataflow defaults overwrite values the model set explicitlyPosiblemente ocupada @markthomaschurch la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 30/100
Los mantenedores suelen responder en 3 días
-
Calling TM.dfd() a second time returns an empty diagramQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
Los mantenedores suelen responder en 3 días
-
Datastore icon is missing from SVG diagrams (absolute PNG path)Posiblemente ocupada @markthomaschurch la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
Los mantenedores suelen responder en 3 días
-
`TM.check()` overwrites explicit Dataflow `protocol`, `dstPort` and `controls.isEncrypted` with sink defaults (regression in 1.4.0)Posiblemente ocupada @Svastikkka la tomó hace 14 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
OWASP/pytm#373 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 3 días
Todos los issues de OWASP/pytm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#872 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme loadPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertobug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
saltstack/salt#70789 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
btclib-org/btclib#3093 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
patrickballard/wheelgap#269 ·
-
priority: low python
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
LearningCircuit/local-deep-research#8635 ·
Los mantenedores suelen responder en 1 día