From 6b838aa9a2fe921fdff44c2d6a18420737cd2165 Mon Sep 17 00:00:00 2001 From: Hernan Grecco Date: Sun, 2 Apr 2017 01:17:16 -0300 Subject: Add warning when a System contains an unknown Group The commit also add a test to make sure that the definition file included in Pint does not contain System with references to unknown Groups Close #472 --- pint/systems.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pint/systems.py') diff --git a/pint/systems.py b/pint/systems.py index e74b6de..336f69b 100644 --- a/pint/systems.py +++ b/pint/systems.py @@ -15,7 +15,7 @@ import re from .definitions import Definition, UnitDefinition from .errors import DefinitionSyntaxError, RedefinitionError -from .util import to_units_container, SharedRegistryObject, SourceIterator +from .util import to_units_container, SharedRegistryObject, SourceIterator, logger from .babel_names import _babel_systems from pint.compat import Loc @@ -309,7 +309,10 @@ class _System(SharedRegistryObject): self._computed_members = set() for group_name in self._used_groups: - self._computed_members |= d[group_name].members + try: + self._computed_members |= d[group_name].members + except KeyError: + logger.warning('Could not resolve {0} in System {1}'.format(group_name, self.name)) self._computed_members = frozenset(self._computed_members) -- cgit v1.2.1