Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Unresolved correctness, performance, error-handling, and test-coverage issues remain.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (4)
What changed in this PR
Adds a Django management command for validating GeoNode resource metadata against JSON Schema and generating reports.
Changes:
- Supports resource filtering, language selection, and validation options.
- Generates JSON or CSV validation reports.
- Reports schema and instance validation errors.
| File | Summary |
|---|---|
geonode/metadata/management/commands/validate_metadata.py |
Implements metadata validation, filtering, error formatting, and reporting. |
geonode/metadata/management/commands/__init__.py |
Reviewed; no functional changes noted. |
geonode/metadata/management/__init__.py |
Reviewed; no functional changes noted. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| return json.loads(json.dumps(data, cls=JSONEncoder)) | ||
|
|
||
| def select_resources(self, ids, resource_types): | ||
| queryset = ResourceBase.objects.all() |
| if not record["valid"]: | ||
| invalid_count += 1 | ||
| if not record["valid"] or options["include_valid"]: | ||
| records.append(record) |
Comment on lines
+232
to
+234
| errors = self.drop_redundant(validator.iter_errors(instance)) | ||
| errors = sorted(errors, key=lambda err: ([str(p) for p in err.absolute_path], str(err.validator))) | ||
| reported = errors[:max_errors] if max_errors > 0 else errors |
|
|
||
| parser.add_argument("--debug", dest="debug", action="store_true", help="Set log level to debug") | ||
|
|
||
| def handle(self, *args, **options): |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Checklist
For all pull requests:
The following are required only for core and extension modules (they are welcomed, but not required, for contrib modules):
Submitting the PR does not require you to check all items, but by the time it gets merged, they should be either satisfied or inapplicable.