javascript - 从 JS 树中创建 Python 函数
问题描述
我需要从以下一堆代码中创建一个函数:
jsHelperFunctions = """
function getTreeList(treeId) {
var $tree = $(treeId);
var itemsList = [];
var treeList = $($tree.jstree().get_json($tree, {
flat: true
})).each(function(i, val) {
itemsList.push($tree.jstree().get_node(val.id))
})
return itemsList;
}
function getItemByItemCode(itemCode, itemsList) {
return itemsList.filter(val => val.original.account_code ==
itemCode)[0]
}"""
这是我的主管给我的一行代码:
treeList = driver.execute_script(jsHelperFunctions + """ return
getTreeList("#tree");""")
尝试过这样的事情,但我不确定(第一个功能):
def get_tree_list(treeId):
tree = treeId
itemsList = []
treeList = tree.jstree().get_json(tree, flat: true).each(function(i, val)
itemsList.push(tree.jstree().get_node(val.id))
return itemsList
还有什么是关于val
和flat
Py的?
解决方案
找到解决方案。带了我几天...
def getTreeList(treeId):
return driver.execute_script(jsHelperFunctions + """ return getTreeList(\""""+ treeId
+"\");")
treeList = getTreeList("#tree")
还有这个...
def getItemByCode(itemCode, treeList):
"""
Returns None if the item code is not found
"""
filtered_iterable = filter(lambda row : row["original"]["item_code"] == itemCode,
treeList)
filtered_list = list(filtered_iterable)
if len(filtered_list) == 0:
return None
assert(len(filtered_list) == 1) #item codes must be unique - so something's wrong
return filtered_list[0]
推荐阅读
- scala - Scala Play:使用正则表达式路由可选参数?
- android - ReactAndroid:react-native升级时buildReadctNdkLib FAILED
- javascript - 通过 HTML 表单页面安全地将 JSON 发送到服务器
- elasticsearch - Percentage for each bucket
- python - 在抓取 Web 内容时,无法使用先例函数输出作为下一个函数的输入
- react-native - 如何在博览会中删除发布代码更新?
- android - 对新项目使用本地 gradle 分发而不是包装器
- c# - 如何在 c# uwp 中创建一个自动执行某些操作的输入框?
- gitlab - 如何在 gitlab-ce 中启用功能标志?
- javascript - 如何编写代码以附加代码并从给定的 json 数据运行值