diff options
Diffstat (limited to 'generat3d/scene.py')
| -rw-r--r-- | generat3d/scene.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/generat3d/scene.py b/generat3d/scene.py index cccfcff..722057f 100644 --- a/generat3d/scene.py +++ b/generat3d/scene.py @@ -63,8 +63,11 @@ class Scene: def _finite(v): - return (not isinstance(v, bool) and isinstance(v, (int, float)) - and math.isfinite(v)) + try: + return (not isinstance(v, bool) and isinstance(v, (int, float)) + and math.isfinite(v)) + except OverflowError: # huge int + return False def _channel(node, name): @@ -86,8 +89,8 @@ def _lookup(library, doc, url, section): def _number(url, v): - if isinstance(v, bool) or not isinstance(v, (int, float)): - raise Error(f"{url}: dial value is not a number") + if not _finite(v): + raise Error(f"{url}: dial value is not a finite number") return v |
