hbmartin / graphviz2drawio

Convert graphviz (dot) files to draw.io / lucid (mxGraph) format. Beautiful and editable graphs in your favorite editor.
https://pypi.org/project/graphviz2drawio/
GNU General Public License v3.0
186 stars 32 forks source link

ignore shape in graph object override - fixes #98 #103

Open hbmartin opened 16 hours ago

hbmartin commented 16 hours ago

Summary by Sourcery

Fix the handling of attributes in the GraphObj class by adding 'shape' to the list of ignored attributes.

Bug Fixes:

Summary by CodeRabbit

sourcery-ai[bot] commented 16 hours ago

Reviewer's Guide by Sourcery

This pull request modifies the GraphObj.py file to ignore the 'shape' attribute in graph object overrides, addressing issue #98. The change is implemented by adding 'shape' to the _blacklist_attrs list.

No diagrams generated as the changes look simple and do not need a visual representation.

File-Level Changes

Change Details Files
Added 'shape' to the list of blacklisted attributes
  • Modified the _blacklist_attrs list to include 'shape' alongside 'fill'
graphviz2drawio/mx/GraphObj.py

Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
coderabbitai[bot] commented 16 hours ago

Walkthrough

The changes involve an update to the _blacklist_attrs variable in the GraphObj class located in GraphObj.py. This variable has been modified to include an additional entry, "shape", alongside the existing entry, "fill". Consequently, the enrich_from_graph method will now skip setting attributes for both "fill" and "shape" during its execution, making the attribute filtering process more restrictive.

Changes

File Path Change Summary
graphviz2drawio/mx/GraphObj.py Updated _blacklist_attrs from ["fill"] to ["fill", "shape"]

Poem

In the garden where attributes play,
A rabbit hops in a joyful way.
With shapes and fills now on the run,
Enriching graphs is twice the fun!
🐇✨


📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: ASSERTIVE**
📥 Commits Files that changed from the base of the PR and between b1c8b618facce2a829488fd5f59ba799a706a15a and 9f2d07bc9d1403e270b60a578c95117a42cef7d5.
📒 Files selected for processing (1) * graphviz2drawio/mx/GraphObj.py (1 hunks)
🔇 Additional comments (1)
graphviz2drawio/mx/GraphObj.py (1)
`1-1`: **LGTM! Change aligns with PR objective.** The addition of "shape" to `_blacklist_attrs` correctly implements the PR objective of ignoring shape in graph object override. This change will prevent the "shape" attribute from being set in the `enrich_from_graph` method. To ensure this change doesn't have unintended consequences, please verify that ignoring the "shape" attribute doesn't negatively impact any dependent functionality. Run the following script to check for any other usages of the "shape" attribute in the codebase:
✅ Verification successful **LGTM! The change correctly adds "shape" to `_blacklist_attrs` without impacting other parts of the codebase.** No unintended side effects detected from ignoring the "shape" attribute in `GraphObj.py`.
🏁 Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Check for other usages of the "shape" attribute in the codebase # Search for "shape" attribute usage in Python files echo "Searching for 'shape' attribute usage:" rg --type python -i '\bshape\b' --context 2 ``` Length of output: 169 --- Script: ```shell #!/bin/bash # Description: Check for other usages of the "shape" attribute in Python files # Search for "shape" attribute usage in Python files echo "Searching for 'shape' attribute usage in Python files:" rg --ignore-case '\bshape\b' --context 2 --glob '*.py' ``` Length of output: 12262
--- 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?
❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
sonarcloud[bot] commented 16 hours ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud