Displaying differences for changeset
 
display as  

src/moplay/models.py

@@ -68,10 +68,14 @@
     def from_dict(d):
 
         v = Variable()
-        v.type = d['type']
-        v.lower = d['lower']
-        v.upper = d['upper']
-        v.nbits = d.get('nbits', 0)
+        v.type = d['type'].lower()
+        if v.type in {'real', 'discrete'}:
+            v.lower = d['lower']
+            v.upper = d['upper']
+        elif v.type in {'binary', 'boolean', 'permutation'}:
+            v.nbits = d['nbits']
+        else:
+            raise ValueError('Unrecognized type {0}!'.format(v.type))
         return v