(self, obj, thrift_spec)
| 371 | self.writeMapEnd() |
| 372 | |
| 373 | def writeStruct(self, obj, thrift_spec): |
| 374 | self.writeStructBegin(obj.__class__.__name__) |
| 375 | for field in thrift_spec: |
| 376 | if field is None: |
| 377 | continue |
| 378 | fname = field[2] |
| 379 | val = getattr(obj, fname) |
| 380 | if val is None: |
| 381 | # skip writing out unset fields |
| 382 | continue |
| 383 | fid = field[0] |
| 384 | ftype = field[1] |
| 385 | fspec = field[3] |
| 386 | # get the writer method for this value |
| 387 | self.writeFieldBegin(fname, ftype, fid) |
| 388 | self.writeFieldByTType(ftype, val, fspec) |
| 389 | self.writeFieldEnd() |
| 390 | self.writeFieldStop() |
| 391 | self.writeStructEnd() |
| 392 | |
| 393 | def writeFieldByTType(self, ttype, val, spec): |
| 394 | r_handler, w_handler, is_container = self._TTYPE_HANDLERS[ttype] |
no test coverage detected