123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- # -*- coding:utf-8 -*-
- """
- 注:私有变量和函数,前面加双下划线(不要在后面也加双下划线);
- """
- import os
- # 自动化sdk头;
- from ssat_sdk.sat_environment import getMenuTree3SelectedProjectCfgPath
- from ssat_sdk.sat_environment import getMenuTreeSelectedChannel
- from BaseLog import CBaseLog
- # 外部数据,禁止外部修改;
- class CExtraData(CBaseLog):
- def __init__(self):
- CBaseLog.__init__(self)
- # 配置文件路径;
- self.__configPath = ""
- # menu tree资源目录(包含了Excel文件路径);
- self.__menuTreeDir = ""
- # 默认的excel路径;
- self.__defaultExcelPath = ""
- # tv excel路径;
- self.__tvExcelPath = ""
- # enter key excel路径;
- self.__enterKeyExcelPath = ""
- # menu tree低下的xls或xlsx文件集;
- self.__listExcelPath = []
- # 数据状态(只要menuTreeDir和defaultExcelPath有效即为True);
- self.__status = False
- # 加载数据;
- self.loadData()
- '''
- 函数:装载所需要的额外数据。
- 参数:无
- 返回:无
- '''
- def loadData(self):
- # 1、加载menu tree 路径;
- self.menuTreeDir = getMenuTree3SelectedProjectCfgPath()
- if not os.path.isdir(self.menuTreeDir):
- self.error(u"menu tree路径(%s)无效,加载失败!" % self.menuTreeDir)
- return
- # endif
- self.log(u"menu tree路径存在:%s" % self.menuTreeDir)
- # 2、加载配置文件路径;
- self.configPath = os.path.join(self.menuTreeDir, "menutree.ini")
- if not os.path.exists(self.configPath):
- self.error(u"配置文件不存在:%s" % self.configPath)
- else:
- self.log(u"配置文件存在:%s" % self.configPath)
- # 3、加载默认excel文件路径;
- self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xls")
- if not os.path.exists(self.defaultExcelPath):
- self.info(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
- self.defaultExcelPath = os.path.join(self.menuTreeDir, "menutree.xlsx")
- # 二次判断是否存在;
- if os.path.exists(self.defaultExcelPath):
- self.status = True
- self.log(u"默认menu tree excel文件存在:%s" % self.defaultExcelPath)
- else:
- self.error(u"默认menu tree excel文件不存在:%s" % self.defaultExcelPath)
- # 4、加载tv excel文件;
- channel = getMenuTreeSelectedChannel()
- if not channel or str(channel) == "":
- self.tvExcelPath = self.defaultExcelPath
- self.warn(u"tv表格不存在,使用默认excel=%s" % self.tvExcelPath)
- else:
- self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xls")
- if not os.path.exists(self.tvExcelPath):
- self.tvExcelPath = os.path.join(self.menuTreeDir, "menuTree_" + channel + ".xlsx")
- # 二次判断是否存在;
- if os.path.exists(self.tvExcelPath):
- self.log(u"默认menu tree excel文件存在:%s" % self.tvExcelPath)
- else:
- self.error(u"默认menu tree excel文件不存在:%s" % self.tvExcelPath)
- # 5、加载默认excel文件路径;
- self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xls")
- if not os.path.exists(self.enterKeyExcelPath):
- self.info(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
- self.enterKeyExcelPath = os.path.join(self.menuTreeDir, "eventkey_code.xlsx")
- # 二次判断是否存在;
- if os.path.exists(self.enterKeyExcelPath):
- self.log(u"eventkey_code文件存在:%s" % self.enterKeyExcelPath)
- else:
- self.error(u"eventkey_code文件不存在:%s" % self.enterKeyExcelPath)
- # 6、加载UITree开头的所有xls或xlsx
- fileList = os.listdir(self.menuTreeDir)
- self.listExcelPath.append(self.defaultExcelPath)
- if self.defaultExcelPath != self.tvExcelPath:
- self.listExcelPath.append(self.tvExcelPath)
- for filePath in fileList:
- if filePath.lower().startswith("uitree") and (
- filePath.lower().endswith(".xls") or filePath.lower().endswith(".xlsx")):
- self.listExcelPath.append(os.path.join(self.menuTreeDir, filePath))
- @property
- def configPath(self):
- return self.__configPath
- @property
- def menuTreeDir(self):
- return self.__menuTreeDir
- @property
- def defaultExcelPath(self):
- return self.__defaultExcelPath
- @property
- def tvExcelPath(self):
- return self.__tvExcelPath
- @property
- def enterKeyExcelPath(self):
- return self.__enterKeyExcelPath
- @property
- def listExcelPath(self):
- return self.__listExcelPath
- @property
- def status(self):
- return self.__status
- if __name__ == "__main__":
- exdata = CExtraData()
- if exdata.status is False:
- print u"加载数据失败"
- print u"[==============================================]"
- print u"config配置文件路径 ", exdata.configPath
- print u"menutree路径 ", exdata.menuTreeDir
- print u"默认excel路径 ", exdata.defaultExcelPath
- print u"tv表格路径 ", exdata.tvExcelPath
- print u"enterkey表格路径 ", exdata.enterKeyExcelPath
- print u"所有表格列表 ", exdata.listExcelPath
- print u"加载状态 ", exdata.status
- print u"[==============================================]"
|