diff --git a/src/doc2tosca.py b/src/doc2tosca.py index 1322b35bbf342d3ca2baf03c7213edb6bb506822..11908766bd418291d43a3b9bfc8476d041718925 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 294e2806f57985b4b7bfd6d433baf49071b6316a..f66e6ec445bc10c0b85ebf0f9fcbcf3ce15542dd 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 60c993e55b49435c39693e70551f720902a1a2f6..cfb0e258837479aacf1846f0823f0541a4c2e67f 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")