From 0f717e2749e0728f88b9bef5bfa4840637f353e4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 2 Jun 2026 16:16:19 +1000 Subject: [PATCH] Specify R as ohms (#12065) * Specify R as ohms * Adjust comments --- src/backend/InvenTree/InvenTree/conversion.py | 3 +++ src/backend/InvenTree/InvenTree/tests.py | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/backend/InvenTree/InvenTree/conversion.py b/src/backend/InvenTree/InvenTree/conversion.py index 8db0eb8330..3b6fda27b8 100644 --- a/src/backend/InvenTree/InvenTree/conversion.py +++ b/src/backend/InvenTree/InvenTree/conversion.py @@ -114,6 +114,9 @@ def reload_unit_registry(): reg.define('@alias degF = Fahrenheit') reg.define('@alias degK = Kelvin') + # Override R as ohm (pint defines R as an SI prefix by default) + reg.define('R = ohm') + # Define some "standard" additional units reg.define('piece = 1') reg.define('each = 1 = ea') diff --git a/src/backend/InvenTree/InvenTree/tests.py b/src/backend/InvenTree/InvenTree/tests.py index e0977075d5..38062926d5 100644 --- a/src/backend/InvenTree/InvenTree/tests.py +++ b/src/backend/InvenTree/InvenTree/tests.py @@ -293,6 +293,16 @@ class ConversionTest(TestCase): ) self.assertAlmostEqual(output, expected, 12) + # Test that 'R' is interpreted as ohms + # Ref: https://github.com/inventree/InvenTree/issues/12063 + r_tests = [('8R6', 8.6), ('10R', 10), ('4R7', 4.7), ('100R', 100)] + + for val, expected in r_tests: + output = InvenTree.conversion.convert_physical_value( + val, 'ohm', strip_units=True + ) + self.assertAlmostEqual(output, expected, 6) + def test_scientific_notation(self): """Test that scientific notation is handled correctly.""" tests = [