- {{ schema_info_part.html(schema_info, schema_versions, schema_current_version) }}
+ {{ schema_info_part.html(schema_info, schema_versions, schema_current_version, doc_url) }}
diff --git a/validata_ui/views.py b/validata_ui/views.py
index cdbf453..e6d574c 100644
--- a/validata_ui/views.py
+++ b/validata_ui/views.py
@@ -34,7 +34,7 @@ log = logging.getLogger(__name__)
class SchemaInstance():
"""Handly class to handle schema information"""
- def __init__(self, url=None, name=None, ref=None, spec=None, versions=None):
+ def __init__(self, url=None, name=None, ref=None, spec=None, versions=None, doc_url=None):
"""This function is not intended to be called directly
but via from_parameters() static method!"""
self.url = url
@@ -42,12 +42,13 @@ class SchemaInstance():
self.ref = ref
self.spec = spec
self.versions = versions
+ self.doc_url = doc_url
@staticmethod
def from_parameters(parameter_dict, schema_catalog_map):
"""Initializes schema instance from requests dict and tableschema catalog (for name ref)
"""
- schema_url, schema_name, schema_ref, versions = None, None, None, None
+ schema_url, schema_name, schema_ref, versions, doc_url = None, None, None, None, None
# From schema_url
if 'schema_url' in parameter_dict:
@@ -78,6 +79,7 @@ class SchemaInstance():
# Git refs
if table_schema_reference:
versions = table_schema_reference.get_refs()
+ doc_url = table_schema_reference.doc_url
options = {'ref': schema_ref} if schema_ref else {}
schema_url = table_schema_reference.get_schema_url(**options)
@@ -85,7 +87,8 @@ class SchemaInstance():
else:
return None
- return SchemaInstance(schema_url, schema_name, schema_ref, schema_from_url(schema_url), versions)
+ return SchemaInstance(url=schema_url, name=schema_name, ref=schema_ref,
+ spec=schema_from_url(schema_url), versions=versions, doc_url=doc_url)
def request_parameters(self):
if self.name:
@@ -384,6 +387,7 @@ def validate(schema_instance: SchemaInstance, source: ValidataResource):
validation_date=report_datetime.strftime('le %d/%m/%Y à %Hh%M'),
source=source, source_data=source_data,
schema_current_version=schema_instance.ref,
+ doc_url = schema_instance.doc_url,
print_mode=request.args.get('print', 'false') == 'true',
badge_url=badge_url, badge_msg=badge_msg,
report_str=json.dumps(validata_report, sort_keys=True, indent=2),
@@ -542,6 +546,7 @@ def custom_validator():
return render_template('validation_form.html', title=title,
schema_info=schema_info, schema_versions=schema_versions,
schema_current_version=schema_instance.ref,
+ doc_url = schema_instance.doc_url,
schema_params=schema_instance.request_parameters(),
breadcrumbs=[{'url': url_for('home'), 'title': 'Accueil'}, ])
--
GitLab