'defvaule' could be None if a Schema with a default value is written out with prune=True and then re-read.
@@ -98,6 +98,8 @@ class Schema:
return cfg['nodevalue'][step]['default']
elif Schema._is_set(cfg):
return cfg['value']
+ elif ('value' in cfg) and (cfg['value']):
+ return cfg['value']
else:
return cfg['defvalue']
elif field in cfg:
