Skip to content

fix: give alternate unit suffixes their own keys - #1314

Open
Sanjays2402 wants to merge 1 commit into
google:masterfrom
Sanjays2402:fix/duplicate-unit-suffix-keys
Open

fix: give alternate unit suffixes their own keys#1314
Sanjays2402 wants to merge 1 commit into
google:masterfrom
Sanjays2402:fix/duplicate-unit-suffix-keys

Conversation

@Sanjays2402

Copy link
Copy Markdown

Fixes #1250

When a UNECE symbol column lists aliases (% or pct), the generator emitted both descriptors under the same Python key, so the second overwrote the first — units.PERCENT resolved to pct and the % descriptor was unreachable as a module attribute. KILOGRAM_PER_LITRE, DECITONNE and RACK_UNIT had the same collision.

units_from_xls.py now keeps the canonical key for the first suffix and derives a distinct key for each alternate (PERCENT_PCT, etc.); units.py is regenerated to match. Lookup via units.Unit('%') / units.Unit('pct') is unchanged. New test/util/units_test.py fails on master and passes with the fix.

Units whose UNECE symbol column lists aliases (e.g. "% or pct") were
emitted twice under the SAME Python name, so the second assignment
overwrote the first. units.PERCENT therefore resolved to the "pct"
descriptor and the "%" one was unreachable as a module attribute.
The same collision affected KILOGRAM_PER_LITRE, DECITONNE and RACK_UNIT.

units_from_xls.py now keeps the canonical key for the first suffix and
derives a distinct key for each alternate suffix; units.py is updated to
match. Adds test/util/units_test.py covering the primary suffix, the
distinct alias keys, and lookup by every suffix.

Fixes google#1250
@google-cla

google-cla Bot commented Jul 25, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@Sanjays2402

Copy link
Copy Markdown
Author

@googlebot I signed it!

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.

PERCENT double declaration

1 participant