Jelajahi Sumber

COptionAction
1、开放部分属性值
2、setValue返回值修复。

COptionExcel
1、getOptionValueInfo修复:当value不为空时,如果不存在value表中返回空;

CTMenu
1、SyncOptionInfo完善。

scbc.sat2 5 tahun lalu
induk
melakukan
a84f45ce1e

+ 9 - 1
ssat_sdk/MenuTree3/OptionAction.py

@@ -101,6 +101,14 @@ class COptionAction(CBaseLog):
     def pos(self):
         return self.__pos
 
+    @property
+    def optionName(self):
+        return self.__optionName
+
+    @property
+    def optionValue(self):
+        return self.__optionValue
+
     @property
     def curOptionName(self):
         return self.__curOptionName
@@ -1174,7 +1182,7 @@ class COptionAction(CBaseLog):
         if self.__optionValue != "" or self.__optionValue is not None:
             self.__optionValueInfo = self.__optionExcel.getOptionValueInfo(self.__optionName, self.__optionValue)
 
-        return True if self.__optionValueInfo else False
+        return True if self.__optionValueInfo and self.__optionValueInfo.__len__() else False
 
 
 if __name__ == "__main__":

+ 8 - 2
ssat_sdk/MenuTree3/OptionExcel.py

@@ -573,20 +573,26 @@ class COptionExcel(CBaseLog):
                 if 'layout' in self.__valueParams.values[optionName]\
                 else ""
         }
+
+        bFound = False
         # 找到value对应的ocr;
         if value is not None and value != "":
             vp["value"] = value
             for item in self.__valueParams.values[optionName]["value"]:
                 if "range(" in item["value"]:
+                    bFound = True
                     vp["value_for_ocr"] = item["value_for_ocr"].split(';')
                     break
                 elif item["value"].lower() == value.lower():
+                    bFound = True
                     vp["value_for_ocr"] = item["value_for_ocr"].split(';')
                     break
             # endfor
-        # endif
+        else:
+            bFound = True
+
         # 返回结果;
-        return vp
+        return vp if bFound else []
 
     '''
     函数:获取value表中的指定option(value name)的value的文本内容;

+ 8 - 5
ssat_sdk/MenuTree3/TMenu.py

@@ -78,7 +78,10 @@ class CTMenu(CBaseLog):
             self.info(u"lastOpa.pos=%d" % self.__lastOpa.pos)
             diffValue = self.__lastOpa.pos - self.__curOpa.getPathLength()
             # 前者位置大于当前opa长度;
-            if diffValue > 0:
+            if diffValue == 0:
+                if self.__curOpa.isOptionInPaths(self.__lastOpa.pos, self.__lastOpa.optionValue) is True:
+                    self.__curOpa.setCurPos(self.__lastOpa.pos)
+            elif diffValue > 0:
                 # 判断路径是否为子集关系;
                 if self.__lastOpa.isOptionInPaths(self.__lastOpa.getPathLength(), self.__curOpa.curOptionName) is True:
                     while diffValue > 0:
@@ -86,7 +89,7 @@ class CTMenu(CBaseLog):
                         self.__lastOpa.back2ParentNode()
                     # 同时设置当前opa位置;
                     self.__curOpa.setCurPos(self.__curOpa.getPathLength())
-            else:
+            elif diffValue < 0:
                 # 判断路径是否为子集关系;
                 if self.__curOpa.isOptionInPaths(self.__lastOpa.pos, self.__lastOpa.curOptionName) is True:
                     self.__curOpa.setCurPos(self.__lastOpa.pos)
@@ -693,12 +696,12 @@ if __name__ == "__main__":
 
     ml.openOption('picture_preset')
     ml.setValue('movie')
+    print "--------------------------------------------------"
     ml.openOption('picture_preset')
     ml.setValue('dynamic')
     print "--------------------------------------------------"
-
-    # ml.openOption('brightness')
-    # ml.setValue(90)
+    ml.openOption('brightness')
+    ml.setValue(10)
 
     ml.back2Home()