Проверка шаблона шины для iOS
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

generate 1.6KB

il y a 10 mois
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python3
  2. import os
  3. import sys
  4. from argparse import ArgumentParser
  5. from generateStructure import *
  6. from parseLines import *
  7. from readModuleSrc import *
  8. from Structure import *
  9. DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
  10. # Импорт из общей для всех генераторов директории.
  11. sys.path.append(f"{DIR}/../common")
  12. from modulePaths import *
  13. from readFile import *
  14. parser = ArgumentParser(prog='generate v3')
  15. parser.add_argument('module', type=str,
  16. help='the name of the module to generate')
  17. parser.add_argument('-i', '--input', type=str,
  18. help='The path and name of the input file')
  19. parser.add_argument('-o', '--output', type=str,
  20. help='The path of the output files')
  21. parser.add_argument('-s', '--source', type=str,
  22. help='The path of the source files')
  23. args = parser.parse_args()
  24. (PATH, MODULE) = modulePaths(args.module)
  25. print(f"Generating platform for module '{PATH}'...")
  26. FILE_IN = args.input or f"{DIR}/../../../Modules/{PATH}/{MODULE}.yml"
  27. DIR_OUT = args.output or f"{DIR}/../../../Modules/{PATH}/src/"
  28. FILE_OUT = os.path.join(DIR_OUT, f"{MODULE}.Generated.swift")
  29. # Читаем файл и разбираем его на ключи-значения.
  30. lines = readFile(FILE_IN)
  31. structure = Structure()
  32. parseLines(lines, structure)
  33. ORIG_SRC = args.source or f"{DIR}/../../../Modules/{structure.src.name}/src"
  34. structure.orig = readModuleSrc(ORIG_SRC, readFile)
  35. # Генерируем код.
  36. output = generateStructure(structure)
  37. # Сохраняем файл.
  38. with open(FILE_OUT, "w") as file:
  39. file.write(output)