ExtraData.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. # -*- coding:utf-8 -*-
  2. """
  3. 注:私有变量和函数,前面加双下划线(不要在后面也加双下划线);
  4. """
  5. import os
  6. import sys
  7. # 自动化sdk头;
  8. from ssat_sdk.sat_environment import getMenuTree3SelectedProjectCfgPath
  9. from ssat_sdk.sat_environment import getMenuTreeSelectedChannel
  10. from BaseLog import CBaseLog
  11. # 外部数据,禁止外部修改;
  12. class CExtraData(CBaseLog):
  13. def __init__(self):
  14. CBaseLog.__init__(self)
  15. # 配置文件路径;
  16. self.__configPath = ""
  17. # menu tree资源目录(包含了Excel文件路径);
  18. self.__menuTreeDir = ""
  19. # 默认的excel路径;
  20. self.__defaultExcelPath = ""
  21. # tv excel路径;
  22. self.__tvExcelPath = ""
  23. # enter key excel路径;
  24. self.__enterKeyExcelPath = ""
  25. # menu tree低下的xls或xlsx文件集;
  26. self.__listExcelPath = []
  27. # 数据状态(只要menuTreeDir和defaultExcelPath有效即为True);
  28. self.__status = False
  29. # 加载数据;
  30. self.loadData()
  31. '''
  32. 函数:装载所需要的额外数据。
  33. 参数:无
  34. 返回:无
  35. '''
  36. def loadData(self):
  37. # 1、加载menu tree 路径;
  38. self.menuTreeDir = getMenuTree3SelectedProjectCfgPath()
  39. if not os.path.isdir(self.menuTreeDir):
  40. self.error(u"menu tree路径(%s)无效,加载失败!" % self.menuTreeDir)
  41. return
  42. # endif
  43. self.log(u"menu tree路径存在:%s" % self.menuTreeDir)
  44. # 2、加载配置文件路径;
  45. self.configPath = os.path.join(self.menuTreeDir, "menutree.ini")
  46. if not os.path.exists(self.configPath):
  47. self.error(u"配置文件不存在:%s" % self.configPath)
  48. else:
  49. self.log(u"配置文件存在:%s" % self.configPath)
  50. # 3、加载默认excel文件路径;
  51. self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xls")
  52. if not os.path.exists(self.defaultExcelPath):
  53. self.info(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
  54. self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xlsx")
  55. # 二次判断是否存在;
  56. if os.path.exists(self.defaultExcelPath):
  57. self.status = True
  58. self.log(u"默认menu tree excel文件存在:%s" % self.defaultExcelPath)
  59. else:
  60. self.error(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
  61. # 4、加载tv excel文件;
  62. channel = getMenuTreeSelectedChannel()
  63. if not channel or str(channel) == "":
  64. self.tvExcelPath = self.defaultExcelPath
  65. self.warn(u"tv表格不存在,使用默认excel=%s" % self.tvExcelPath)
  66. else:
  67. self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xls")
  68. if not os.path.exists(self.tvExcelPath):
  69. self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xlsx")
  70. # 二次判断是否存在;
  71. if os.path.exists(self.tvExcelPath):
  72. self.log(u"默认menu tree excel文件存在:%s" % self.tvExcelPath)
  73. else:
  74. self.error(u"默认menu tree excel文件不存在:%s" % self.tvExcelPath)
  75. # 5、加载默认excel文件路径;
  76. self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xls")
  77. if not os.path.exists(self.enterKeyExcelPath):
  78. self.info(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
  79. self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xlsx")
  80. # 二次判断是否存在;
  81. if os.path.exists(self.enterKeyExcelPath):
  82. self.log(u"eventkey_code文件存在:%s" % self.enterKeyExcelPath)
  83. else:
  84. self.error(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
  85. # 6、加载UITree开头的所有xls或xlsx
  86. fileList = os.listdir(self.menuTreeDir)
  87. self.listExcelPath.append(self.defaultExcelPath)
  88. if self.defaultExcelPath != self.tvExcelPath:
  89. self.listExcelPath.append(self.tvExcelPath)
  90. for filePath in fileList:
  91. if filePath.lower().startswith("uitree") and (
  92. filePath.lower().endswith(".xls") or filePath.lower().endswith(".xlsx")):
  93. self.listExcelPath.append(os.path.join(self.menuTreeDir, filePath))
  94. @property
  95. def configPath(self):
  96. return self.__configPath
  97. @property
  98. def menuTreeDir(self):
  99. return self.__menuTreeDir
  100. @property
  101. def defaultExcelPath(self):
  102. return self.__defaultExcelPath
  103. @property
  104. def tvExcelPath(self):
  105. return self.__tvExcelPath
  106. @property
  107. def enterKeyExcelPath(self):
  108. return self.__enterKeyExcelPath
  109. @property
  110. def listExcelPath(self):
  111. return self.__listExcelPath
  112. @property
  113. def status(self):
  114. return self.__status
  115. if __name__ == "__main__":
  116. exdata = CExtraData()
  117. if exdata.status is False:
  118. print u"加载数据失败"
  119. print u"[==============================================]"
  120. print u"config配置文件路径 ", exdata.configPath
  121. print u"menutree路径 ", exdata.menuTreeDir
  122. print u"默认excel路径 ", exdata.defaultExcelPath
  123. print u"tv表格路径 ", exdata.tvExcelPath
  124. print u"enterkey表格路径 ", exdata.enterKeyExcelPath
  125. print u"所有表格列表 ", exdata.listExcelPath
  126. print u"加载状态 ", exdata.status
  127. print u"[==============================================]"