summaryrefslogtreecommitdiff
path: root/pint/systems.py
diff options
context:
space:
mode:
authorHernan Grecco <hernan.grecco@gmail.com>2017-04-02 01:17:16 -0300
committerHernan Grecco <hernan.grecco@gmail.com>2017-04-02 01:17:16 -0300
commit6b838aa9a2fe921fdff44c2d6a18420737cd2165 (patch)
treeb08379a8957a3cbff51b718b253042a60579c3e4 /pint/systems.py
parentdc26676a4bb532e97e965434c05c1e2eff3bd1b7 (diff)
downloadpint-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.py7
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)