Conversation
The Metron API provides currency codes, not country codes, so Price now stores an ISO 4217 currency field (defaulting to "USD"). Two helpers, currency_to_country() and country_to_currency(), handle conversion when reading/writing MetronInfo XML, which still uses the country attribute.
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.
The Metron API provides currency codes rather than country codes, so
Price.countryhas been replaced withPrice.currencystoring ISO 4217 codes (e.g."USD","CAD"), defaulting to"USD".Two helper functions are added to
darkseid.metadata:currency_to_country(currency_code)— converts an ISO 4217 code to an ISO 3166-1 alpha-2 country code (e.g."USD"→"US")country_to_currency(country_code)— the reverse, used internally when parsing MetronInfo XMLThe MetronInfo XML format still uses a
countryattribute on<Price>elements, so conversion is applied transparently on read and write. Schema validation confirms the output remains valid against the MetronInfo XSD.