Lines Matching refs:data
26 def represent(self, data):
27 node = self.represent_data(data)
33 def represent_data(self, data):
34 if self.ignore_aliases(data):
37 self.alias_key = id(data)
42 # raise RepresenterError("recursive objects are not allowed: %r" % data)
45 self.object_keeper.append(data)
46 data_types = type(data).__mro__
48 node = self.yaml_representers[data_types[0]](self, data)
52 node = self.yaml_multi_representers[data_type](self, data)
56 node = self.yaml_multi_representers[None](self, data)
58 node = self.yaml_representers[None](self, data)
60 node = ScalarNode(None, str(data))
131 def ignore_aliases(self, data):
136 def ignore_aliases(self, data):
137 if data is None:
139 if isinstance(data, tuple) and data == ():
141 if isinstance(data, (str, bytes, bool, int, float)):
144 def represent_none(self, data):
147 def represent_str(self, data):
148 return self.represent_scalar('tag:yaml.org,2002:str', data)
150 def represent_binary(self, data):
152 data = base64.encodebytes(data).decode('ascii')
154 data = base64.encodestring(data).decode('ascii')
155 return self.represent_scalar('tag:yaml.org,2002:binary', data, style='|')
157 def represent_bool(self, data):
158 if data:
164 def represent_int(self, data):
165 return self.represent_scalar('tag:yaml.org,2002:int', str(data))
171 def represent_float(self, data):
172 if data != data or (data == 0.0 and data == 1.0):
174 elif data == self.inf_value:
176 elif data == -self.inf_value:
179 value = repr(data).lower()
180 # Note that in some cases `repr(data)` represents a float number
191 def represent_list(self, data):
192 #pairs = (len(data) > 0 and isinstance(data, list))
194 # for item in data:
199 return self.represent_sequence('tag:yaml.org,2002:seq', data)
201 #for item_key, item_value in data:
206 def represent_dict(self, data):
207 return self.represent_mapping('tag:yaml.org,2002:map', data)
209 def represent_set(self, data):
211 for key in data:
215 def represent_date(self, data):
216 value = data.isoformat()
219 def represent_datetime(self, data):
220 value = data.isoformat(' ')
223 def represent_yaml_object(self, tag, data, cls, flow_style=None):
224 if hasattr(data, '__getstate__'):
225 state = data.__getstate__()
227 state = data.__dict__.copy()
230 def represent_undefined(self, data):
231 raise RepresenterError("cannot represent an object", data)
274 def represent_complex(self, data):
275 if data.imag == 0.0:
276 data = '%r' % data.real
277 elif data.real == 0.0:
278 data = '%rj' % data.imag
279 elif data.imag > 0:
280 data = '%r+%rj' % (data.real, data.imag)
282 data = '%r%rj' % (data.real, data.imag)
283 return self.represent_scalar('tag:yaml.org,2002:python/complex', data)
285 def represent_tuple(self, data):
286 return self.represent_sequence('tag:yaml.org,2002:python/tuple', data)
288 def represent_name(self, data):
289 name = '%s.%s' % (data.__module__, data.__name__)
292 def represent_module(self, data):
294 'tag:yaml.org,2002:python/module:'+data.__name__, '')
296 def represent_object(self, data):
297 # We use __reduce__ API to save the data. data.__reduce__ returns
313 cls = type(data)
315 reduce = copyreg.dispatch_table[cls](data)
316 elif hasattr(data, '__reduce_ex__'):
317 reduce = data.__reduce_ex__(2)
318 elif hasattr(data, '__reduce__'):
319 reduce = data.__reduce__()
321 raise RepresenterError("cannot represent an object", data)
358 def represent_ordered_dict(self, data):
360 data_type = type(data)
363 items = [[key, value] for key, value in data.items()]