ExtraData.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. # 配置文件路径;
  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. def loadData(self):
  32. # 1、加载menu tree 路径;
  33. self.menuTreeDir = getMenuTree3SelectedProjectCfgPath()
  34. if not os.path.isdir(self.menuTreeDir):
  35. self.error(u"menu tree路径(%s)无效,加载失败!" % self.menuTreeDir)
  36. return
  37. # endif
  38. self.log(u"menu tree路径存在:%s" % self.menuTreeDir)
  39. # 2、加载配置文件路径;
  40. self.configPath = os.path.join(self.menuTreeDir, "menutree.ini")
  41. if not os.path.exists(self.configPath):
  42. self.error(u"配置文件不存在:%s" % self.configPath)
  43. else:
  44. self.log(u"配置文件存在:%s" % self.configPath)
  45. # 3、加载默认excel文件路径;
  46. self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xls")
  47. if not os.path.exists(self.defaultExcelPath):
  48. self.info(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
  49. self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xlsx")
  50. # 二次判断是否存在;
  51. if os.path.exists(self.defaultExcelPath):
  52. self.status = True
  53. self.log(u"默认menu tree excel文件存在:%s" % self.defaultExcelPath)
  54. else:
  55. self.error(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
  56. # 4、加载tv excel文件;
  57. channel = getMenuTreeSelectedChannel()
  58. if not channel or str(channel) == "":
  59. self.tvExcelPath = self.defaultExcelPath
  60. self.warn(u"tv表格不存在,使用默认excel=%s" % self.tvExcelPath)
  61. else:
  62. self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xls")
  63. if not os.path.exists(self.tvExcelPath):
  64. self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xlsx")
  65. # 二次判断是否存在;
  66. if os.path.exists(self.tvExcelPath):
  67. self.log(u"默认menu tree excel文件存在:%s" % self.tvExcelPath)
  68. else:
  69. self.error(u"默认menu tree excel文件不存在:%s" % self.tvExcelPath)
  70. # 5、加载默认excel文件路径;
  71. self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xls")
  72. if not os.path.exists(self.enterKeyExcelPath):
  73. self.info(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
  74. self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xlsx")
  75. # 二次判断是否存在;
  76. if os.path.exists(self.enterKeyExcelPath):
  77. self.log(u"eventkey_code文件存在:%s" % self.enterKeyExcelPath)
  78. else:
  79. self.error(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
  80. # 6、加载UITree开头的所有xls或xlsx
  81. fileList = os.listdir(self.menuTreeDir)
  82. self.listExcelPath.append(self.defaultExcelPath)
  83. if self.defaultExcelPath != self.tvExcelPath:
  84. self.listExcelPath.append(self.tvExcelPath)
  85. for filePath in fileList:
  86. if filePath.lower().startswith("uitree") and (
  87. filePath.lower().endswith(".xls") or filePath.lower().endswith(".xlsx")):
  88. self.listExcelPath.append(os.path.join(self.menuTreeDir, filePath))
  89. @property
  90. def configPath(self):
  91. return self.__configPath
  92. @property
  93. def menuTreeDir(self):
  94. return self.__menuTreeDir
  95. @property
  96. def defaultExcelPath(self):
  97. return self.__defaultExcelPath
  98. @property
  99. def tvExcelPath(self):
  100. return self.__tvExcelPath
  101. @property
  102. def enterKeyExcelPath(self):
  103. return self.__enterKeyExcelPath
  104. @property
  105. def listExcelPath(self):
  106. return self.__listExcelPath
  107. @property
  108. def status(self):
  109. return self.__status
  110. if __name__ == "__main__":
  111. exdata = CExtraData()
  112. if exdata.status is False:
  113. print u"加载数据失败"
  114. print u"[==============================================]"
  115. print u"config配置文件路径 ", exdata.configPath
  116. print u"menutree路径 ", exdata.menuTreeDir
  117. print u"默认excel路径 ", exdata.defaultExcelPath
  118. print u"tv表格路径 ", exdata.tvExcelPath
  119. print u"enterkey表格路径 ", exdata.enterKeyExcelPath
  120. print u"所有表格列表 ", exdata.listExcelPath
  121. print u"加载状态 ", exdata.status
  122. print u"[==============================================]"