本文整理汇总了Python中oozie.models.Link.parent方法的典型用法代码示例。如果您正苦于以下问题:Python Link.parent方法的具体用法?Python Link.parent怎么用?Python Link.parent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oozie.models.Link
的用法示例。
在下文中一共展示了Link.parent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: workflow_save
# 需要导入模块: from oozie.models import Link [as 别名]
# 或者: from oozie.models.Link import parent [as 别名]
def workflow_save(request, workflow):
if request.method != "POST":
raise StructuredException(code="METHOD_NOT_ALLOWED_ERROR", message=_("Must be POST request."), error_code=405)
json_workflow = format_dict_field_values(json.loads(request.POST.get("workflow")))
json_workflow.setdefault("schema_version", workflow.schema_version)
form = WorkflowForm(data=json_workflow)
if not form.is_valid():
raise StructuredException(
code="INVALID_REQUEST_ERROR",
message=_("Error saving workflow"),
data={"errors": form.errors},
error_code=400,
)
json_nodes = json_workflow["nodes"]
id_map = {}
errors = {}
if not _validate_nodes_json(json_nodes, errors, request.user, workflow):
raise StructuredException(
code="INVALID_REQUEST_ERROR", message=_("Error saving workflow"), data={"errors": errors}, error_code=400
)
workflow = _update_workflow_json(json_workflow)
nodes = _update_workflow_nodes_json(workflow, json_nodes, id_map, request.user)
# Update links
index = 0
for json_node in json_nodes:
child_links = json_node["child_links"]
Link.objects.filter(parent=nodes[index]).delete()
for child_link in child_links:
link = Link()
link.id = getattr(child_link, "id", None)
link.name = child_link["name"]
id = str(child_link["parent"])
link.parent = Node.objects.get(id=id_map[id])
id = str(child_link["child"])
link.child = Node.objects.get(id=id_map[id])
link.comment = child_link.get("comment", "")
link.save()
index += 1
# Make sure workflow HDFS permissions are correct
Workflow.objects.check_workspace(workflow, request.fs)
return _workflow(request, workflow=workflow)
示例2: workflow_save
# 需要导入模块: from oozie.models import Link [as 别名]
# 或者: from oozie.models.Link import parent [as 别名]
def workflow_save(request, workflow):
if request.method != 'POST':
raise StructuredException(code="METHOD_NOT_ALLOWED_ERROR", message=_('Must be POST request.'), error_code=405)
json_workflow = format_dict_field_values(json.loads(str(request.POST.get('workflow'))))
json_workflow.setdefault('schema_version', workflow.schema_version)
form = WorkflowForm(data=json_workflow)
if not form.is_valid():
raise StructuredException(code="INVALID_REQUEST_ERROR", message=_('Error saving workflow'), data={'errors': form.errors}, error_code=400)
json_nodes = json_workflow['nodes']
id_map = {}
errors = {}
if not _validate_nodes_json(json_nodes, errors, request.user, workflow):
raise StructuredException(code="INVALID_REQUEST_ERROR", message=_('Error saving workflow'), data={'errors': errors}, error_code=400)
workflow = _update_workflow_json(json_workflow)
nodes = _update_workflow_nodes_json(workflow, json_nodes, id_map, request.user)
# Update links
index = 0
for json_node in json_nodes:
child_links = json_node['child_links']
Link.objects.filter(parent=nodes[index]).delete()
for child_link in child_links:
link = Link()
link.id = getattr(child_link, 'id', None)
link.name = child_link['name']
id = str(child_link['parent'])
link.parent = Node.objects.get(id=id_map[id])
id = str(child_link['child'])
link.child = Node.objects.get(id=id_map[id])
link.comment = child_link.get('comment', '')
link.save()
index += 1
# Make sure workflow HDFS permissions are correct
Workflow.objects.check_workspace(workflow, request.fs)
return _workflow(request, workflow=workflow)
示例3: update_workflow
# 需要导入模块: from oozie.models import Link [as 别名]
# 或者: from oozie.models.Link import parent [as 别名]
workflow = update_workflow(json_workflow)
nodes = update_workflow_nodes(workflow, json_nodes, id_map)
# Update links
index = 0
for json_node in json_nodes:
child_links = json_node['child_links']
Link.objects.filter(parent=nodes[index]).delete()
for child_link in child_links:
link = Link()
link.id = getattr(child_link, 'id', None)
link.name = child_link['name']
id = str(child_link['parent'])
link.parent = Node.objects.get(id=id_map[id])
id = str(child_link['child'])
link.child = Node.objects.get(id=id_map[id])
link.comment = child_link.get('comment', '')
link.save()
index += 1
# Make sure workflow is shared
Workflow.objects.check_workspace(workflow, request.fs)
return _workflow(request, workflow=workflow)