diff options
author | Hernan Grecco <hernan.grecco@gmail.com> | 2017-04-02 01:17:16 -0300 |
---|---|---|
committer | Hernan Grecco <hernan.grecco@gmail.com> | 2017-04-02 01:17:16 -0300 |
commit | 6b838aa9a2fe921fdff44c2d6a18420737cd2165 (patch) | |
tree | b08379a8957a3cbff51b718b253042a60579c3e4 /pint/systems.py | |
parent | dc26676a4bb532e97e965434c05c1e2eff3bd1b7 (diff) | |
download | pint-6b838aa9a2fe921fdff44c2d6a18420737cd2165.tar.gz |
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
Diffstat (limited to 'pint/systems.py')
-rw-r--r-- | pint/systems.py | 7 |
1 files changed, 5 insertions, 2 deletions
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) |