OptionExcel.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. # -*- coding:utf-8 -*-
  2. import os
  3. from collections import OrderedDict
  4. from UIT_PathManage import UITPathManage
  5. from ssat_sdk.MenuTree3.BaseLog import CBaseLog
  6. from ssat_sdk.MenuTree3.TExcelParser import CExcelParser
  7. from ssat_sdk.utils.string_util import strToList
  8. from xlsConst import xlsConst as xlsc
  9. def parseMoveKey(keyStr):
  10. return strToList(keyStr,";")
  11. g_level = ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth',
  12. 'Seventh', 'Eighth', 'Ninth', 'Tenth', 'Eleventh', 'Twelfth']
  13. class CPathParams(CBaseLog):
  14. def __init__(self):
  15. self.paths = OrderedDict()
  16. def addParent(self,level, pDict):
  17. if level not in self.paths:
  18. self.paths[level] = {}
  19. # endif
  20. pDict["value"]=[]
  21. pDict[xlsc.move_key] = parseMoveKey(pDict[xlsc.move_key])
  22. if pDict[xlsc.parent] in self.paths:
  23. self.error("Parent %s conflict."%(pDict[xlsc.parent]))
  24. self.paths[level][pDict[xlsc.parent]] = pDict
  25. def addOption(self,level, pDict):
  26. if level in self.paths:
  27. if pDict[xlsc.parent] in self.paths[level]:
  28. if pDict[xlsc.option].__len__() > 0:
  29. self.paths[level][pDict[xlsc.parent]]["value"].append(pDict)
  30. else:
  31. self.error("Parent %s not exist." % (pDict[xlsc.parent]))
  32. else:
  33. self.error("Level %s not exist." % (level))
  34. class CValueParams(CBaseLog):
  35. def __init__(self):
  36. self.values = OrderedDict()
  37. def addParent(self, pDict):
  38. if pDict[xlsc.value_name] in self.values:
  39. self.error("Parent %s conflict."%(pDict[xlsc.value_name]))
  40. pDict["value"]=[]
  41. pDict[xlsc.move_key] = parseMoveKey(pDict[xlsc.move_key])
  42. self.values[pDict[xlsc.value_name]] = pDict
  43. def addOption(self, pDict):
  44. if pDict[xlsc.value_name] in self.values:
  45. if pDict[xlsc.value].__len__() > 0:
  46. self.values[pDict[xlsc.value_name]]["value"].append(pDict)
  47. else:
  48. self.error("Parent %s not exist." % (pDict[xlsc.value_name]))
  49. class CDialogParams(CBaseLog):
  50. def __init__(self):
  51. self.dialogs = OrderedDict()
  52. def addParent(self,level, pDict):
  53. # endif
  54. if pDict[xlsc.parent] in self.dialogs:
  55. self.error("Parent %s conflict."%(pDict[xlsc.parent]))
  56. pDict["value"] = []
  57. pDict[xlsc.move_key] = parseMoveKey(pDict[xlsc.move_key])
  58. self.dialogs[pDict[xlsc.parent]] = pDict
  59. def addOption(self,level,pDict):
  60. if pDict[xlsc.parent] in self.dialogs:
  61. if pDict[xlsc.option].__len__() > 0:
  62. self.dialogs[pDict[xlsc.parent]]["value"].append(pDict)
  63. else:
  64. self.error("Parent %s not exist." % pDict[xlsc.parent])
  65. # 注意:所有不对外暴露的变量和函数需要私有化,以明确哪些接口和参数是对外的。
  66. # 这样便于后期维护时,根据对外的变量和函数来做处理。
  67. class COptionExcel(CBaseLog):
  68. def __init__(self, exData):
  69. self.__excelParse = CExcelParser()
  70. self.__exData = exData
  71. self.__pathParams = CPathParams()
  72. self.__valueParams = CValueParams()
  73. self.__dialogParams = CDialogParams()
  74. # 加载已知表格;
  75. def loadExcel(self):
  76. pass
  77. # 加载其他表格;
  78. def addExcel(self, xlsPath):
  79. pass
  80. if __name__ == "__main__":
  81. pass