X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FNBI.git;a=blobdiff_plain;f=osm_nbi%2Fhtml_out.py;h=6f07d714ac0fa0cdc31149e5b79479573deab8b7;hp=bfa13d49dae939c8c4e5f3697ed20ffe61b70d41;hb=e4c83a7871f341a8340e6befc9b4e66a72e4927d;hpb=b24258aa9716c1e375fde230a817f7c9faaf6c2a diff --git a/osm_nbi/html_out.py b/osm_nbi/html_out.py index bfa13d4..6f07d71 100644 --- a/osm_nbi/html_out.py +++ b/osm_nbi/html_out.py @@ -1,9 +1,23 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + """ 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 " @@ -20,13 +34,17 @@ html_start = """ ( {} ) + PDUs VNFDs NSDs NSs + NSTDs + NSIs USERs PROJECTs TOKENs VIMs + WIMs SDNs logout @@ -100,6 +118,15 @@ html_nslcmop_body = """ """ +html_nsilcmop_body = """ +nsilcm operations +
+

+ +

+
+""" + def format(data, request, response, session): """ @@ -124,12 +151,15 @@ def format(data, request, response, session): body += html_upload_body.format(request.path_info, "VNFD") 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"]) @@ -140,12 +170,17 @@ def format(data, request, response, session): 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 += "
" + yaml.safe_dump(data, explicit_start=True, indent=4, default_flow_style=False) + "
" + elif request.path_info.startswith("/nsilcm/v1/netslice_instances_content/") or \ + request.path_info.startswith("/nsilcm/v1/netslice_instances/"): + _id = request.path_info[request.path_info.rfind("/")+1:] + body += html_nsilcmop_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"):