forked from netbox-community/Device-Type-Library-Import
-
Notifications
You must be signed in to change notification settings - Fork 2
fix: add schema-driven module type property detection and component comparison #64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
45e9749
fix: update module type scalar properties (e.g. part_number) on --update
marcinpsk 777fcea
fix: module change detection and diff-u report without --update
marcinpsk 2b2deb6
refactor: extract shared diff-u formatter into core/formatting.py
marcinpsk f6377a8
fix: display None and empty string consistently in diff-u output
marcinpsk 253f25d
fix: resolve all pre-commit issues
marcinpsk e234e45
fix: upload module-type images before scalar PATCH in existing-module…
marcinpsk 43b460a
feat: schema-driven property comparison for device/module types
marcinpsk 1737ff1
feat: full component comparison for module types with description/col…
marcinpsk e11d2db
fix: three module change detection bugs
marcinpsk c56a5c2
Replace REST module-type component preload with GraphQL cache
marcinpsk 7c622a5
Fix module type summary never showing in run report
marcinpsk 682881f
fix: apply component changes for existing module types during --update
marcinpsk 61b0565
fix: remove module_bay_templates from _NO_MODULE_TYPE for idempotent …
marcinpsk f00883d
fix: retry transient GraphQL connection errors and fix module type ch…
marcinpsk af5bbbb
fix: catch GraphQLError and NetBoxRequestError with user-friendly mes…
marcinpsk 9ac3060
fix: detect and skip duplicate (manufacturer, model) YAML definitions
marcinpsk cc48ef0
fix: apply --remove-components for module types and reject argparse a…
marcinpsk a169b3c
tests: increase coverage to ≥96%
marcinpsk 16bbed1
fix: address PR review findings and add coverage tests
marcinpsk 3872265
fix: address second-round CodeRabbit review findings
marcinpsk 08823ef
fix: ruff format/C901
marcinpsk b506456
tests: strengthen assertions in third-round CodeRabbit fixes
marcinpsk d89a54d
refactor: reuse ChangeDetector instance via lazy cached property
marcinpsk 1a11dd5
fix: defer MODULE_TYPE_PROPERTIES loading; tighten mock shapes
marcinpsk e39c1ce
feat: validate GraphQL component fetch counts against REST API
marcinpsk 8a045eb
chore: ruff format
marcinpsk 91e42b8
feat: GraphQL count mismatch retry logic, 100% docstring coverage
marcinpsk df818b0
Fix REST=0 count validation and exclude image-only modules from modif…
marcinpsk 547d0e2
Coerce None endpoint totals to 0 for max() comparisons in preload
marcinpsk 8f7302f
Don't short-circuit module-type diff when image is also missing
marcinpsk 5f91b31
Populate preload progress-bar totals from REST counts
marcinpsk c6456a3
Address PR #64 fifth-round CodeRabbit review
marcinpsk 5fd2354
Address PR #64 sixth-round CodeRabbit review
marcinpsk 105403c
Address PR #64 seventh-round CodeRabbit review
marcinpsk bec0e0f
Address PR #64 round-8 CodeRabbit findings
marcinpsk 1564eb9
Tighten retry-backoff and component-diff isolation tests (PR #64 roun…
marcinpsk 271b3db
Assert scalar PATCH payload in module-type property update test (PR #…
marcinpsk 480bdaf
Isolate filter_actionable_module_types tests from preload (PR #64 rou…
marcinpsk de83ac6
Tighten module-type test assertions (PR #64 round 12)
marcinpsk d94550b
Surface failed device-type updates instead of misreporting as success
marcinpsk 230ca65
Add live progress, constraint-aware updates, and structured failure r…
marcinpsk 5aee511
Address PR review: tighten outcome reporting + retry-loop assertions
marcinpsk f2f5c42
Address PR review: sharpen two test assertions
marcinpsk 8bad750
Track component-only device type updates in summary counter
marcinpsk 68f5198
Show all modified device types in change report (not just removal types)
marcinpsk 8aa8301
Fix device-bay template filter for NetBox >= 4.1 (new_filters)
marcinpsk bb0501d
Centralise NetBox filter key logic in core/compat.py
marcinpsk 3af2d63
Fix four PR review findings (3173232491/92/97/98)
marcinpsk 43f6d24
Fix partial module sync counted as full module_updated success
marcinpsk 8becd81
Narrow broad exception handler in _load_module_type_properties
marcinpsk 9d34148
fix: address PR review round 9 findings
marcinpsk 15d84fe
fix: round-10 CR fixes: narrow except, preload guard, test hardening
marcinpsk f5ea2de
docs: round-11 CR fixes — update docstrings for 3-tuple return and pe…
marcinpsk f3be4e5
fix: re-raise preload errors instead of swallowing and caching empty …
marcinpsk b826a94
fix: defer module_updated accounting to post-component-reconciliation
marcinpsk 6d677e6
fix: count scalar success when component removals skipped + update docs
marcinpsk d55d1de
fix: treat all-failed component API calls as a failure, not CACHED
marcinpsk 6e55d7e
fix: distinguish partial from full component reconciliation via delta…
marcinpsk 25a3d68
fix: exclusive module outcome counters, PARTIAL rendering, resolver s…
marcinpsk 72eae5b
fix(schema_reader): use explicit allowlist for scalar property detection
marcinpsk 90e7348
fix: accurate applied counts in log, module failure outcomes, and tes…
marcinpsk a35a0dc
refactor: remove power-port singular alias entirely (closes #67)
marcinpsk 052e277
fix: correct module outcome reason and harden test assertions
marcinpsk 3068213
test: tighten pending-removal and rack-type summary assertions
marcinpsk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| """Core package for the Device Type Library Import tool.""" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.