code: def write_meta(self):
      result = []
      data = [self.meta_data[k] for k in self.meta_data]
      new_data = []
      while len(data) > 0:
          for v in data:
              if isinstance(v, unicode):
                  result.append(v)
              else:
                  for k in v:
                      new_data.append(v[k])
          data = new_data
          new_data = []
  
      for key in result:
          item = key.split(":")
          if len(item) != 4:
              print("meta format error")
              exit(1)
          cur_dir = os.path.join(self.output_dir, "Index", item[0])
          mkdirs(cur_dir)
          f = open(os.path.join(cur_dir, "meta"), "w")
          s = ""
          if item[3] == "hash_index":
              s += struct.pack("i", 0)
          elif item[3] == "range_index":
              s += struct.pack("i", 1)
          elif item[3] == "neighbor_index":
              s += struct.pack("i", 2)
          else:
              print("index string " + item[3] + " error")
  
          s += struct.pack("i", self.types[item[2]])
          s += struct.pack("i", self.types[item[1]])
          f.write(s)
          f.close()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import json
  import sys
  import struct
  from euler.tools import json2meta
  from euler.tools.util import *
  import os
label_desc: Use image node_id 7 for calling the Converter obj's underlying member method code with example usage: obj.write_meta() without return types