File tree Expand file tree Collapse file tree 2 files changed +17
-3
lines changed
Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change 11from .command import generate
22
3- __version__ = '0.1.18 '
3+ __version__ = '0.1.19 '
Original file line number Diff line number Diff line change @@ -150,6 +150,20 @@ def keys(self):
150150 return self .data .keys ()
151151 return vars (self .data ).keys ()
152152
153+ def get_check (self , key , default = None ):
154+ if isinstance (self .data , dict ):
155+ value = self .data .get (key , default )
156+ has_key = key in self .data
157+ else :
158+ try :
159+ value = getattr (self .data , key )
160+ except AttributeError :
161+ value = default
162+ has_key = False
163+ else :
164+ has_key = True
165+ return value , has_key
166+
153167 def _normalize_dict (schema , data ):
154168 result = {}
155169 if not isinstance (data , DataWrapper ):
@@ -160,8 +174,8 @@ def _normalize_dict(schema, data):
160174 type_ = _schema .get ('type' , 'object' )
161175
162176 # get value
163- value = data .get (key )
164- if value is not None :
177+ value , has_key = data .get_check (key )
178+ if has_key :
165179 result [key ] = _normalize (_schema , value )
166180 elif 'default' in _schema :
167181 result [key ] = _schema ['default' ]
You can’t perform that action at this time.
0 commit comments