{"text_format":"2","workbook":"xlsx","n_sheets":5,"sheets":["TExcelParser","TMenu","TData","TFocus","TConfig"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":0,"defined_names":0,"comments":1,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"TExcelParser","index":0,"n_rows":29,"n_cols":5,"rows_kept":29,"cut":false,"hidden":false,"merged":[[24,4,24,7],[25,4,25,7],[26,4,26,7],[27,4,27,7],[28,4,28,7],[23,4,23,7],[16,4,16,7],[5,0,6,7],[12,0,13,7],[3,3,4,3],[3,4,3,7],[4,4,4,7],[10,3,11,3],[10,4,10,7],[11,4,11,7],[17,4,17,7],[18,4,18,7],[19,4,19,7],[20,4,20,7],[21,4,21,7],[22,4,22,7],[0,0,2,0],[7,0,9,0],[14,0,16,0],[0,1,1,7],[7,1,8,7],[14,1,15,7],[2,4,2,7],[9,4,9,7]]}
["                    CPathParams \n函数接口","Excel中的所有路径表结构类"]
[]
[null,"参数","描述","示例","局限性"]
["add_name","level：路径表层级，如：First、Second……；\nparent：路径表中的parent字段；\nmove_key：路径表中的move_key字段\nenter_key：路径表中的enter_key字段;\nothers：路径表中的others字段;","变量：self.paths = OrderedDict()\n将数据添加到字典self.paths中","self.paths字典示例：\n{\n    \"First\": {\n        \"source\": {\n            \"enter_key\": \"ok\",\n            \"value\": [\n                {\n                    \"option_for_ocr\": \"tv\",\n                    \"option\": \"tv\"\n                },\n                {\n                    \"option_for_ocr\": \"av\",\n                    \"option\": \"av\"\n                }\n            ],\n            \"others\": \"\",\n            \"move_key\": [\"left\",\"right\"]\n        }\n    }\n}"]
["add_item","level：路径表层级，如：First、Second……；\nparent：路径表中的parent字段；\noption：路径表中的option字段；\nocr：路径表中的parent_for_ocr字段；","变量：self.paths = OrderedDict()\n将数据添加到字典self.paths中"]
[]
[]
["                   CValueParams \n函数接口","Excel中的Value表结构类"]
[]
[null,"参数","描述","示例","局限性"]
["add_name","name：value表中的value name字段；\nmove_key：value表中的move_key字段\nenter_key：value表中的enter_key字段;","变量：self.values = OrderedDict()\n将数据添加到字典self.paths中","self.values字典示例：\n{\n\"source\": {\n        \"enter_key\": \"ok\",\n        \"value\": [\n            {\n                \"value_for_ocr\": \"tv\",\n                \"value\": \"tv\"\n            },\n            {\n                \"value_for_ocr\": \"av\",\n                \"value\": \"av\"\n            }\n        ],\n        \"move_key\": [\n            \"left\",\n            \"right\"\n        ]\n    }\n  }\n}"]
["add_item","name：value表中的value name字段；\nvalue：value表中的value字段；\nocr：value表中的value_for_ocr字段；","变量：self.values = OrderedDict()\n将数据添加到字典self.paths中"]
[]
[]
["                   CExcelParser\n函数接口","Excel中的解析类"]
[]
[null,"参数","描述","示例","局限性"]
["__init__","xls_path：excel文件路径，赋值给self.xls_path;","构造函数","#"]
["read_excel","path：excel文件路径，默认为None，使用self.xls_path","读取execl文件内容","#"]
["parse_excel","sheet：excel文件中的表名\nbpath：表类型；默认为True，表示要读取的sheet是否为路径表，否则为Value表；","指定要解析的excel表和表类型","#"]
["get_menu_paths","option：value表中的value name字段，对应的是路径表中的option字段;\nvalue：value表中的value字段;","先读取value表中的内容，再读取所有路径表的内容形成一条链路，返回两个字典；","#"]
["get_option_paths","option：路径表中的option字段;","读取所有路径表的内容形成一条链路，是get_menu_paths的拆分版。"]
["get_pair_values","name：value表中的value name字段 或 路径表中的parent字段；\noption：name类型，True表示路径表parent字段，False表示value表中的value字段；","option=True：读取路径表中指定parent字段下的所有option、option_for_ocr键对值；\noption=False：读取value表中指定value name下所有value、value_for_ocr键对值；","参数：picture_preset、False\n返回值：[\n    {\"personal\": [\"personal\"]},\n    {\"dynamic\": [\"dynamic\"]},\n    {\"standard\": [\"standard\"]},\n    {\"natural\": [\"natural\"]},\n    {\"stadium\": [\"stadium\"]},\n    {\"movie\": [\"movie\",\"movle\"]}\n]"]
["get_ocr_list","level：路径表层级，如：First、Second……；\nname：如果is_option==True则表示路径表中的parent字段；否则为value表中的value name字段；\noption：路径表中的option字段；\nis_option：默认True；True表示路径表中查找，False表示Value表中查找；","is_option==True：返回路径表中指定层级的parent字段下所有的option_for_ocr值；\nis_option==False：返回value表中指定value name字段下所有的value_for_ocr值；","参数：'Second','picture','picture_preset',True\n返回值：[\n    [\"backlight\"], \n    [\"overscan\"], \n    [\"content type\"], \n    [\"aspect ratio\"], \n    [\"advanced settings\"], \n    [\"picture reset\"]\n]"]
["get_parent_ocr_list","option：value表中的value name字段，对应的是路径表中的option字段;","返回value表value name字段作为路径表中的option字段对应的parent字段下所有的option的option_for_ocr内容；\n返回值为list类型，并按ocr内容长度排序；","参数：channel\n结果list：[\"picture\", \"channel\", \"network\", \"support\", \"system\", \"sound\"]"]
["get_parent_ocr_dict","option：value表中的value name字段，对应的是路径表中的option字段;","返回value表value name字段作为路径表中的option字段对应的parent字段下所有的option的option_for_ocr内容；\n返回值为字典类型，并按ocr内容长度排序；","参数：channel\n排序字典(格式：\"ocr\":\"option\")：\n{   \n    \"picture\": \"picture\",\n    \"plcture\": \"picture\"\n    \"channel\": \"channel\",\n    \"network\": \"network\",\n    \"support\": \"support\",\n    \"system\": \"system\",\n    \"sound\": \"sound\"    \n}"]
["get_option_ocr","option：路径表中的option字段;","返回路径表中指定的option对应的option_for_ocr","参数：picture\n返回值：\n[u'picture', u'plcture']"]
["get_value","option：value表中的value name字段；\nvalue：value表中的value字段；","返回指定value name和vaule字段的相关内容；","参数：automatic_search、tuner_mode\n返回值：\n{\n'value_for_ocr': [u'tuner mode'], \n'move_key': [u'up', u'down'], \n'option': u'automatic_search',  #value_name\n'value': 'tuner_mode', \n'enter_key': u'default'\n}"]
["get_option","option：路径表中的option字段;","返回路径表指定option的相关内容，找到返回True,dict","参数：automatic_search\n返回值：\nTrue, {\n  'layers': 1,      #第几层\n  'first_parent': u'setting', \n  'parent': u'setting', \n  'move_key': [u'up', u'down'], \n  'level': u'First', \n  'enter_key': u'ok', \n  'option_ocr': [u'picture', u'plcture'], \n  'others': u''\n}"]

{"sheet":"TMenu","index":1,"n_rows":16,"n_cols":6,"rows_kept":16,"cut":false,"hidden":false,"merged":[[22,5,22,8],[23,5,23,8],[24,5,24,8],[0,0,2,1],[3,0,14,0],[15,0,24,0],[11,5,11,8],[15,5,15,8],[19,5,19,8],[20,5,20,8],[21,5,21,8],[5,5,5,8],[6,5,6,8],[7,5,7,8],[8,5,8,8],[9,5,9,8],[10,5,10,8],[0,2,1,8],[2,5,2,8],[3,5,3,8],[4,5,4,8]]}
["                     CTMenu \n函数接口",null,"UI菜单操作接口"]
[]
[null,null,"参数","描述","示例","局限性"]
["对外接口","setOptionValue","option：value表中的value name字段；\nvalue：value表中的value字段；\nMax_Try：默认值=15；单方向遍历次数","根据value表value name字段对应路径表中的option字段逆向查找出一条菜单路径，根据这条路径从头逐层菜单焦点定位到尾，最后在value name层级设置value值；"]
[null,"checkOptionValue","option：value表中的value name字段；\nvalue：value表中的value字段；\nMax_Try：默认值=15；单方向遍历次数","根据value表value name字段对应路径表中的option字段逆向查找出一条菜单路径，根据这条路径从头逐层菜单焦点定位到尾，最后在value name层级检测value值是否匹配得上"]
[null,"setSourceValue","option：value表中的value name字段；\nvalue：value表中的value字段；\nsourceWaitTime：切换到某个信源时等待的时间，默认=1.0秒, \nMax_Try：默认=10；单方向遍历次数","根据value表value name字段对应路径表中的option字段逆向查找出一条菜单路径，根据这条路径从头逐层菜单焦点定位到尾，最后在value name层级设置value值；"]
[null,"inputUnlock","std_str：判断的标准文字\npassword：要输入的密码，默认=''，表示使用配置文件中的super；","在某加锁频道中，按OK弹出密码框，输入密码解锁"]
[null,"openOption","option：路径表中的option字段；\nMax_Try：默认值=15；单方向遍历次数","打开路径表中指定的option层级菜单；"]
[null,"checkChannelList","channelList：目标频道列表；\nMax_Try：默认值=15；单方向遍历次数","检测频道列表是否与目标频道列表一致；"]
[null,"manual_search","parent：路径表中的parent字段；\nlist_option_value：该parent中多个要同时设置的option字段；\nsearch_option：是否有搜索菜单，默认值=[]","自动搜台，如果search_option空，表明无搜索框；"]
[null,"auto_search","parent：路径表中的parent字段；\nlist_option_value：该parent中多个要同时设置的option字段；\nsearch_option：是否有搜索菜单，默认值=[]","手动搜台，如果search_option空，表明无搜索框；"]
[null,"focusOptionValue","option：value表中的value name字段；\nvalue：value表中的value字段；\nMax_Try：默认值=15；单方向遍历次数","根据value表value name字段对应路径表中的option字段逆向查找出一条菜单路径，根据这条路径从头逐层菜单焦点定位到尾，最后在value name层级聚焦到value值；"]
[null,"getOptionValue","option：路径表中的option字段；\nis_value_sheet：默认false，表示获取的option值在value表中有配置；","获取路径表中指定的option的值；"]
[null,"focusOption","option：路径表中的option字段；\nMax_Try：默认值=15；单方向遍历次数\n\n返回值：True 成功，False失败","根据各级菜单表的option字段，逆向查找出一条菜单路径，根据这条路径从头逐层菜单焦点定位到尾，聚焦到option"]
[null,"moveToOption","option：路径表中的option字段；\n\nMax_Try：默认值=15；单方向遍历次数返回值：True 成功，False失败","假定已经在option所在的页面，逐步移动到目标option，聚焦到option"]
["内部函数"]

{"sheet":"TData","index":2,"n_rows":7,"n_cols":6,"rows_kept":7,"cut":false,"hidden":false,"merged":[[0,0,2,1],[0,2,1,8],[2,5,2,8],[3,0,6,0]]}
["                                         CTData\n函数接口",null,"UI菜单操作接口"]
[]
[null,null,"参数","描述","示例","局限性"]
["对外接口","getSubValueList","value_name：表格中Value中value_name","获取表格Value层级中，value_name下包含的value列表"]
[null,"getSubOptionList","parent:表格中First~Sixth层级中parent","获取表格First~Sixth层级中，parent下包含的option列表"]
[null,"getValueTextList","value_name：表格中Value中value_name\nvalue：表格中Value中value_name下的value","获取表格Value层级中，value_name下的指定value的ocr列表"]
[null,"getOptionTextList","parent:表格中First~Sixth层级中parent\noption：表格中First~Sixth层级中parent下的option","获取表格First~Sixth层级中，parent下的指定option的ocr列表"]

{"sheet":"TFocus","index":3,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}

{"sheet":"TConfig","index":4,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[]}