ExtraData.py 5.6 KB

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