config_utils_shanshen.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 'subChannel' not in config:
  16. print('subChannel not exists in config')
  17. return False
  18. # 默认值
  19. if 'changeIcon' not in config:
  20. config['changeIcon'] = False
  21. if 'switchIcon' not in config:
  22. config['switchIcon'] = False
  23. if 'addLauncher' not in config:
  24. config['addLauncher'] = False
  25. if 'splitDex' not in config:
  26. config['splitDex'] = True
  27. if 'clearCache' not in config:
  28. config['clearCache'] = True
  29. if 'outName' not in config:
  30. config['outName'] = config['name']
  31. return True
  32. def replaceArgs(config):
  33. '''
  34. 替换占位符
  35. '''
  36. if type(config) == dict:
  37. replaceItemArgs(config)
  38. elif type(config) == list:
  39. # 遍历数组
  40. for arg in config:
  41. replaceItemArgs(arg)
  42. def replaceItemArgs(config):
  43. '''
  44. 替换占位符
  45. '''
  46. # 遍历字典
  47. for arg in config:
  48. if type(config[arg]) == dict:
  49. replaceArgs(config[arg])
  50. elif type(config[arg]) == str:
  51. replaceString(config, arg)
  52. def replaceString(config, arg):
  53. '''
  54. 替换占位符
  55. '''
  56. content = config[arg]
  57. if '${DATE}' in content:
  58. content = content.replace('${DATE}', getDate())
  59. config[arg] = content
  60. def getDate():
  61. '''
  62. 获取日期
  63. '''
  64. return time.strftime("%Y%m%d", time.localtime())