Closed jdputsch closed 11 hours ago
❌ Merging this PR will decrease code quality in the affected files by 3.93%.
Quality metrics | Before | After | Change |
---|---|---|---|
Complexity | 3.10 ⭐ | 4.68 ⭐ | 1.58 👎 |
Method Length | 58.88 ⭐ | 63.17 🙂 | 4.29 👎 |
Working memory | 8.18 🙂 | 8.78 🙂 | 0.60 👎 |
Quality | 72.11% 🙂 | 68.18% 🙂 | -3.93% 👎 |
Other metrics | Before | After | Change |
---|---|---|---|
Lines | 148 | 174 | 26 |
Changed files | Quality Before | Quality After | Quality Change |
---|---|---|---|
graphviz2drawio/version.py | 98.67% ⭐ | 98.67% ⭐ | 0.00% |
graphviz2drawio/mx/Edge.py | 82.40% ⭐ | 77.73% ⭐ | -4.67% 👎 |
graphviz2drawio/mx/EdgeFactory.py | 72.99% 🙂 | 53.85% 🙂 | -19.14% 👎 |
graphviz2drawio/mx/MxGraph.py | 68.71% 🙂 | 68.62% 🙂 | -0.09% 👎 |
Here are some functions in these files that still need a tune-up:
File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
---|---|---|---|---|---|---|
graphviz2drawio/mx/EdgeFactory.py | EdgeFactory.from_svg | 12 🙂 | 151 😞 | 12 😞 | 47.68% 😞 | Try splitting into smaller methods. Extract out complex expressions |
graphviz2drawio/mx/MxGraph.py | MxGraph.get_edge_style | 8 ⭐ | 164 😞 | 13 😞 | 48.45% 😞 | Try splitting into smaller methods. Extract out complex expressions |
The emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.
Please see our documentation here for details on how these metrics are calculated.
We are actively working on this report - lots more documentation and extra metrics to come!
Help us improve this quality report!
Thanks very much @jdputsch ! I can resolve conflicts for this after getting 0.3 release out or you can take a go at it. Also would be great to add a test case :)
This update mainly involves the enhancement and correction of label handling in the graphviz2drawio
project. Changes include the renaming of a parameter, the addition of new methods for label processing, and corrections to the .gitignore
file. Specifically, the Edge
, EdgeFactory
, and MxGraph
modules have been adjusted to consistently handle multiple labels, while .gitignore
saw minor corrections and additions.
File(s) | Change Summary |
---|---|
.gitignore |
Removed extra space before .vscode , added Pipfile.lock , and corrected Icon entry by removing \r . |
graphviz2drawio/mx/Edge.py |
Renamed label parameter to labels in __init__ , added text_to_mx_value method. |
graphviz2drawio/mx/EdgeFactory.py |
Added _get_labels method to extract text labels and assigned them using this method. |
graphviz2drawio/mx/MxGraph.py |
Modified add_edge method to include "value" key with output of edge.text_to_mx_value() . |
In the code where data flows,
New labels dance and show,
Edge now speaks in plurals sweet,
Bound in logic, text, and neat.
With Git ignored, the clean code grows,
The rabbit smiles, the software glows.
🌟✨🐇
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
With this simple graph:
digraph "" { g [label=Group]; g -> u [label=HAS_USER]; u [label=User]; }
graphviz2drawio 0.2.0 does not include the text "HAS_USER" as a label on the edge between Group and User.
This PR keeps texts associated with edges in the resulting draw.io diagram.
Summary by CodeRabbit
New Features
Chores
.gitignore
to includePipfile.lock
and fixed formatting issues.