Skip to content
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

Use currency fraction information #120

Closed
wants to merge 14 commits into from
Closed

Use currency fraction information #120

wants to merge 14 commits into from

Conversation

etanol
Copy link
Contributor

@etanol etanol commented Nov 18, 2014

This extends pull request #117 to also load the currency fraction information from CLDR supplemental data. Once loaded, it adds an option to babel.numbers.format_currency so the decimal positions deduced from the format pattern can be ignored and replaced by those of the currency, as indicated by such supplemental information.

The API remains backwards compatible.

Szabolcs and others added 11 commits October 12, 2014 12:48
the <parentLocales> element contains the locale inheritance exceptions
when deriving the parent locale from the given name, look in the parent
exceptions first (e.g. the parent of "es_MX" is "es_419", not "es")
According to the colombian locales, the currency symbol is placed at the
beginning, like in english locales.  This needs to be changed because "es_CO"
now inherits the definitions from "es_419", thus conforming to the standard.
Also save the <fractions> section of the supplemental data, which indicates how
many decimal places should be displayed for each currency.
As NumberFormat instances seem to be cached, we want to override this attribute
just temporarily.
While keeping API backwards compatibility, add a new parameter to
numbers.format_currency that will use the digit information associated to the
currency code to override whatever is indicated in the pattern regarding
decimal digits.
@etanol
Copy link
Contributor Author

etanol commented Nov 18, 2014

The tests are already broken on master. These changes just maintain the same test suite breakage.

When traversing or printing dictionaries and sets, the ordering is not
guaranteed across runs (due to Python using a different random seed for hashing
strings on every execution).  Reference:

    https://docs.python.org/3/library/doctest.html#warnings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant