def crosswalk(): session["definition"] = request.form.get("definition") session["list_definition"] = request.form.get("list_definition") session["subject_namespace"] = request.form.get("subject_namespace") session["subject_identifier"] = request.form.get("subject_identifier") session["list_subject_namespace"] = request.form.get("list_subject_namespace") session["list_subject_identifier"] = request.form.get("list_subject_identifier") session["list_limit"] = request.form.get("list_limit") session["is_limited"] = True if "is_limited" in request.form else False session["list_offset"] = request.form.get("list_offset") session["is_offset"] = True if "is_offset" in request.form else False session["endpoint"] = request.form.get("endpoint") session["username"] = request.form.get("username") session["password"] = request.form.get("password") session["format"] = request.form.get("format") session["output_html"] = True if "output_html" in request.form else False session["definition_type"] = request.form.get("definition_type") select_q = None count_q = None definition_type = request.form.get("definition_type") if not definition_type: if "definition" in request.form and "list_definition" not in request.form: definition_type = "individual" elif "definition" not in request.form and "list_definition" in request.form: definition_type = "list" else: definition_type = default_definition_type if definition_type == "individual": o, s, g, q = execute( definitions[request.form.get("definition", default_definition)], request.form.get("subject_namespace", default_subject_namespace), request.form.get("subject_identifier", default_subject_identifier), request.form.get("endpoint", default_endpoint), request.form.get("username", default_username), request.form.get("password", default_password), serialization_format=request.form.get("format", default_format), ) else: o, s, g, q, select_q, count_q = execute_list( list_definitions[request.form.get("list_definition", default_list_definition)], request.form.get("list_subject_namespace", default_subject_namespace), request.form.get("list_subject_identifier", default_subject_identifier), request.form.get("endpoint", default_endpoint), request.form.get("username", default_username), request.form.get("password", default_password), serialization_format=request.form.get("format", default_format), offset=request.form.get("list_offset", default_list_offset) if "is_offset" in request.form else None, limit=request.form.get("list_limit", default_list_limit) if "is_limited" in request.form else None, ) if "output_html" in request.form: return crosswalk_form(output=o, obj=s, graph=g, query=q, select_query=select_q, count_query=count_q) else: return Response(o, content_type=formats[request.form.get("format", default_format)])
parser.add_argument("--offset", type=int, help="Offset for lists.") parser.add_argument("--limit", type=int, help="Limit for lists.") #Parse args = parser.parse_args() main_select_q = None main_count_q = None if args.definition in definitions: main_o, main_s, main_g, main_q = execute(definitions[args.definition], args.subject_namespace, args.subject_identifier, args.endpoint, args.username, args.password, serialization_format=args.format, indent_size=args.indent) else: (main_o, main_s, main_g, main_q, main_select_q, main_count_q) = execute_list(list_definitions[args.definition], args.subject_namespace, args.subject_identifier, args.endpoint, args.username, args.password, serialization_format=args.format, indent_size=args.indent, offset=args.offset, limit=args.limit) if args.file: with codecs.open(args.file, "w") as out: out.write(main_o) else: print(main_o) if args.debug: print(""" PYTHON OBJECT: {s}