X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fhtml_out.py;h=e9237e92528ace0680315184fbcab49c8ff43400;hp=23ee97bfea4dbcceb35490ef784fea3cf35167b1;hb=b57758d4a3fd88baa348cfa0812e9f4a742761d1;hpb=0f98af53b320c8244b58d0d8751e28e157949e8e diff --git a/osm_nbi/html_out.py b/osm_nbi/html_out.py index 23ee97b..e9237e9 100644 --- a/osm_nbi/html_out.py +++ b/osm_nbi/html_out.py @@ -4,6 +4,7 @@ Contains html text in variables to make and html response import yaml from http import HTTPStatus +from html import escape as html_escape __author__ = "Alfonso Tierno " @@ -17,14 +18,18 @@ html_start = """
- + ( {} ) - VNFDs - NSDs - NSs + VNFDs + NSDs + NSs + NSTDs USERs PROJECTs TOKENs + VIMs + SDNs logout
@@ -36,13 +41,12 @@ html_body = """ html_end = """ - + """ html_body_error = "

Error
{}

" - html_auth2 = """ @@ -88,6 +92,16 @@ html_upload_body = """ """ +html_nslcmop_body = """ +nslcm operations +VNFRS +
+

+ +

+
+""" + def format(data, request, response, session): """ @@ -108,27 +122,36 @@ def format(data, request, response, session): if response.status and response.status > 202: body += html_body_error.format(yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False)) elif isinstance(data, (list, tuple)): - if request.path_info == "/vnfpkgm/v1/vnf_packages_content": + if request.path_info == "/vnfpkgm/v1/vnf_packages": body += html_upload_body.format(request.path_info, "VNFD") - elif request.path_info == "/nsd/v1/ns_descriptors_content": - body += html_upload_body.format(request.path_info, "NSD") + elif request.path_info == "/nsd/v1/ns_descriptors": + body += html_upload_body.format(request.path_info + "_content", "NSD") + elif request.path_info == "/nst/v1/nst_templates": + body += html_upload_body.format(request.path_info + "_content", "NSTD") for k in data: if isinstance(k, dict): data_id = k.pop("_id", None) elif isinstance(k, str): data_id = k - body += '

{id}: {t}

'.format(url=request.path_info, id=data_id, t=k) + body += '

{id}: {t}

'.format(url=request.path_info, id=data_id, + t=html_escape(str(k))) elif isinstance(data, dict): if "Location" in response.headers: body += ' show '.format(response.headers["Location"]) else: - body += ' '.format(request.path_info) - body += "
" + yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False) + "
" + body += ' '\ + .format(request.path_info) + if request.path_info.startswith("/nslcm/v1/ns_instances_content/") or \ + request.path_info.startswith("/nslcm/v1/ns_instances/"): + _id = request.path_info[request.path_info.rfind("/")+1:] + body += html_nslcmop_body.format(id=_id) + body += "
" + html_escape(yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False)) + \
+                "
" elif data is None: if request.method == "DELETE" or "METHOD=DELETE" in request.query_string: body += "
 deleted 
" else: - body = str(data) + body = html_escape(str(data)) user_text = " " if session: if session.get("username"): @@ -136,8 +159,6 @@ def format(data, request, response, session): if session.get("project_id"): user_text += ", project: {}".format(session.get("project_id")) return html_start.format(user_text) + body + html_end - #yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False) + # yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False) # tags=False, # encoding='utf-8', allow_unicode=True) - -