# -*- 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"[==============================================]"