text: # encoding: UTF-8
  
  from __future__ import print_function
  __author__ = 'CHENXY'
  
  from ksotp_data_type import *
  
  def main():
      """主函数"""
      fcpp = open('KSOTPUserApiStruct.h', 'r')
      fpy = open('ksotp_struct.py', 'w')
  
      fpy.write('# encoding: UTF-8\n')
      fpy.write('\n')
      fpy.write('structDict = {}\n')
      fpy.write('\n')
  
      for n, line in enumerate(fcpp):
          print(n)
          # 结构体申明注释
          if '///' in line and '\t' not in line:
              py_line = '#' + line[3:]
  
          # 结构体变量注释
          elif '\t///' in line:
              py_line = '#' + line[4:]
  
          # 结构体申明
          elif 'struct' in line:
              content = line.split(' ')
              name = content[1].replace('\n','')
              py_line = '%s = {}\n' % name
  
          # 结构体变量
          elif '\t' in line:
              content = line.split('\t')
              typedef = content[1]
              
              try:
                  type_ = typedefDict[typedef]
              except KeyError:
                  print(content)
                  print(typedef)
  
              variable = content[2].replace(';\n', "")
              py_line = '%s["%s"] = "%s"\n' % (name, variable, type_)
  
          # 结构体结束
          elif '}' in line:
              py_line = "structDict['%s'] = %s\n\n" % (name, name)
  
          # 结构体开始
          elif '{' in line:
              py_line = ''
  
          # 其他
          else:
              py_line = '\n'
  
          fpy.write(py_line.decode('gbk').encode('utf-8'))
  
  
  if __name__ == '__main__':
      main()