config_utils_record.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import time
  2. def checkConfig(config):
  3. '''
  4. 检查配置
  5. '''
  6. print('check config ...')
  7. if type(config) == dict:
  8. return checkChannelConfig(config)
  9. elif type(config) == list:
  10. for itemConfig in config:
  11. if not checkChannelConfig(itemConfig):
  12. return False
  13. return True
  14. def checkChannelConfig(config):
  15. if 'name' not in config or 'packageName' not in config:
  16. print('name or packageName not exists in config')
  17. return False
  18. if 'subChannel' not in config:
  19. print('subChannel not exists in config')
  20. return False
  21. # 默认值
  22. if 'changeIcon' not in config:
  23. config['changeIcon'] = False
  24. if 'switchIcon' not in config:
  25. config['switchIcon'] = False
  26. if 'addLauncher' not in config:
  27. config['addLauncher'] = False
  28. if 'splitDex' not in config:
  29. config['splitDex'] = True
  30. if 'clearCache' not in config:
  31. config['clearCache'] = True
  32. if 'screenOrientation' not in config:
  33. config['screenOrientation'] = 'landscape'
  34. if 'outName' not in config:
  35. config['outName'] = config['name']
  36. if 'recordConfig' in config:
  37. setRecordConfig(config, config['recordConfig'])
  38. return True
  39. def setRecordConfig(config, recordConfig):
  40. configData = None
  41. if 'configData' in config:
  42. configData = config['configData']
  43. configData['bgMusic'] = 'bg_music.mp3'
  44. configData['gameId'] = recordConfig['gameId']
  45. configData['gameName'] = recordConfig['gameName']
  46. configData['gameIcon'] = recordConfig['gameIcon']
  47. configData['gameUrl'] = recordConfig['gameUrl']
  48. configData['skinId'] = recordConfig['skinId']
  49. else:
  50. config['configData'] = {
  51. 'bgMusic':'bg_music.mp3',
  52. 'gameId':recordConfig['gameId'],
  53. 'gameName':recordConfig['gameName'],
  54. 'gameIcon':recordConfig['gameIcon'],
  55. 'gameUrl':recordConfig['gameUrl'],
  56. 'skinId':recordConfig['skinId']
  57. }
  58. def replaceArgs(config):
  59. '''
  60. 替换占位符
  61. '''
  62. if type(config) == dict:
  63. replaceItemArgs(config)
  64. elif type(config) == list:
  65. # 遍历数组
  66. for arg in config:
  67. replaceItemArgs(arg)
  68. def replaceItemArgs(config):
  69. '''
  70. 替换占位符
  71. '''
  72. # 遍历字典
  73. for arg in config:
  74. if type(config[arg]) == dict:
  75. replaceArgs(config[arg])
  76. elif type(config[arg]) == str:
  77. replaceString(config, arg)
  78. def replaceString(config, arg):
  79. '''
  80. 替换占位符
  81. '''
  82. content = config[arg]
  83. if '${DATE}' in content:
  84. content = content.replace('${DATE}', getDate())
  85. config[arg] = content
  86. def getDate():
  87. '''
  88. 获取日期
  89. '''
  90. return time.strftime("%Y%m%d", time.localtime())