MCPcopy Create free account
hub / github.com/ElementsProject/lightning / write

Method write

tools/generate-wire.py:521–549  ·  view source on GitHub ↗
(self, options, output)

Source from the content-addressed store, hash-verified

519 self.types[tlv_name].mark_tlv(tlv)
520
521 def write(self, options, output):
522 template = self.find_template(options)
523 enum_sets = []
524 if len(self.messages.values()) != 0:
525 enum_sets.append({
526 'name': options.enum_name,
527 'set': self.messages.values(),
528 })
529 stuff = {}
530 stuff['top_comments'] = self.top_comments
531 stuff['options'] = options
532 stuff['idem'] = re.sub(r'[^A-Z0-9]+', '_', options.header_filename.upper())
533 stuff['header_filename'] = options.header_filename
534 stuff['includes'] = self.inclusions
535 stuff['enum_sets'] = enum_sets
536 subtypes = self.get_ordered_subtypes()
537 stuff['structs'] = subtypes + self.tlv_structs()
538 stuff['tlvs'] = self.tlvs
539
540 # We leave out extension messages in the printing pages. Any extension
541 # fields will get printed under the 'original' message, if present
542 if options.print_wire:
543 stuff['messages'] = list(self.messages.values())
544 else:
545 stuff['messages'] = list(self.messages.values()) + list(self.extension_msgs.values())
546 stuff['subtypes'] = subtypes
547
548 for line in template.render(**stuff).splitlines():
549 print(line.rstrip(), file=output)
550
551
552def main(options, args=None, output=sys.stdout, lines=None):

Calls 4

find_templateMethod · 0.95
get_ordered_subtypesMethod · 0.95
tlv_structsMethod · 0.95
subMethod · 0.80