Glue code for fgdb metadata - #2312
Open
jackrosacker wants to merge 20 commits into
Open
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
jackrosacker
force-pushed
the
jcr-fgdb-metadata-lifecycle
branch
from
April 10, 2026 19:28
475819c to
3ee7766
Compare
jackrosacker
marked this pull request as ready for review
July 20, 2026 14:58
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.
What this PR does
Adds a unified
dcpy lifecycle package esri write_metadataCLI command that writes Esri-format metadata XML into both shapefiles and geodatabases from product-metadata YAML. Previously there was no GDB write path; the shapefile path was a standalone command inshapefiles.pythat is now removed.Key changes
write_metadataCLI: single command for both file types. GDB layer is inferred automatically for single-layer GDBs viafgdb.resolve_layer; required explicitly for multi-layer GDBs and shapefiles.File.layers/GdbLayerOverridesadded to the metadata model so GDB entries inmetadata.ymlcan declare per-layer column overrides, merged at write time viacalculate_layer_dataset_metadata.String,SmallInteger, etc.) go incolumn.custom["fgdb_data_type"]/custom["shp_data_type"]rather thandata_type.esri_metadata.py; tests reorganized to match.Also of note
There are a bunch of complementary changes to the pluto YAML in the product-metadata repo. Since that repo has been archived, I plan to get this repo merged, and then will transfer the p-m edits directly in a new PR. Until then, the YAML changes can be seen in the test cases.
resolves #2303
fyi @alexrichey - I may need your help with all of the merge conflicts associated with this PR!