From c9b781bedc8bd714d3a27913329a3647de90df64 Mon Sep 17 00:00:00 2001 From: Michele Carignani <michele.carignani@etsi.org> Date: Mon, 17 Jun 2019 14:41:45 +0200 Subject: [PATCH] select import root path --- src/doc2tosca.py | 7 +++++-- src/templates/home.html | 6 ++++++ src/web_app.py | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/doc2tosca.py b/src/doc2tosca.py index 1322b35..1190876 100644 --- a/src/doc2tosca.py +++ b/src/doc2tosca.py @@ -155,7 +155,7 @@ def dump_header(model_name, buf, spec_version=SPEC_VERSION, imports=None): MODELS = {} -def generate_templates(filename, spec_version=SPEC_VERSION): +def generate_templates(filename, spec_version=SPEC_VERSION, yaml_root_path='uri'): ''' Takes a filename or file object and loads the definition into the MODELS dictionary ''' @@ -163,9 +163,12 @@ def generate_templates(filename, spec_version=SPEC_VERSION): print("Opening " + filename) for mn in MODEL_NAMES: + import_stmt = 'etsi_nfv_sol001_common_types.yaml' + if yaml_root_path != 'local': + import_stmt = 'https://forge.etsi.org/rep/nfv/SOL001/raw/{}/'.format(spec_version) + import_stmt MODELS[mn] = tosca_model_info( mn, - '- https://forge.etsi.org/rep/nfv/SOL001/raw/{}/etsi_nfv_sol001_common_types.yaml'.format(spec_version) + '- ' + import_stmt ) try: diff --git a/src/templates/home.html b/src/templates/home.html index 294e280..f66e6ec 100644 --- a/src/templates/home.html +++ b/src/templates/home.html @@ -86,6 +86,12 @@ For any other inquiry, contact <a href="mailto:cti_support@etsi.org">ETSI CTI</a <br /> Custom version (overrides the selector): <input type="text" name="custom-doc-version"> + <br /> + Root of import statements: + <select class="form-control form-control-sm" form="doc2tosca-form" name="yaml-root-path"> + <option value="uri">Forge URL</option> + <option value="local">Local (no path)</option> + </select> <br /><br /> <center> <input type="submit" class="btn btn-primary" value="Upload" /> diff --git a/src/web_app.py b/src/web_app.py index 60c993e..cfb0e25 100644 --- a/src/web_app.py +++ b/src/web_app.py @@ -174,6 +174,7 @@ def mk_doc2tosca(): print(request.form) doc_version = request.form.get('doc-version') custom_doc_version = request.form.get('custom-doc-version') + yaml_root_path = request.form.get('yaml-root-path') except: flash("Something went wrong :/") return redirect("/tosca-ie") @@ -187,7 +188,7 @@ def mk_doc2tosca(): if custom_doc_version != "": doc_version = custom_doc_version try: - doc2tosca.generate_templates(sol001_file, doc_version) + doc2tosca.generate_templates(sol001_file, doc_version, yaml_root_path) except ValueError as e: flash(str(e)) return redirect("/tosca-ie") -- GitLab