Skip to content
Snippets Groups Projects
Commit 7a074ae5 authored by James Graham's avatar James Graham
Browse files

Only show dataset search for data catalogues

parent f480d005
Branches
Tags
1 merge request!60Merge dev pre-hackday
......@@ -7,7 +7,7 @@ from django.urls import reverse
import requests
import requests.exceptions
from datasources.connectors.base import AuthMethod, BaseDataConnector, REQUEST_AUTH_FUNCTIONS
from datasources.connectors.base import AuthMethod, BaseDataConnector, ConnectorType, REQUEST_AUTH_FUNCTIONS
from core.models import BaseAppDataModel, MAX_LENGTH_API_KEY, MAX_LENGTH_NAME, MAX_LENGTH_PATH
......@@ -59,6 +59,10 @@ class DataSource(BaseAppDataModel):
return super().save(**kwargs)
@property
def is_catalogue(self):
return self.data_connector_class.TYPE == ConnectorType.CATALOGUE
@property
def connector_string(self):
if self._connector_string:
......@@ -66,13 +70,12 @@ class DataSource(BaseAppDataModel):
return self.url
@property
def data_connector(self) -> BaseDataConnector:
def data_connector_class(self):
"""
Construct the data connector for this source.
Get the data connector class for this source.
:return: Data connector instance
:return: Data connector class
"""
if self._data_connector is None:
BaseDataConnector.load_plugins('datasources/connectors')
try:
......@@ -84,6 +87,18 @@ class DataSource(BaseAppDataModel):
raise KeyError('Data source plugin not found') from e
return plugin
@property
def data_connector(self) -> BaseDataConnector:
"""
Construct the data connector for this source.
:return: Data connector instance
"""
if self._data_connector is None:
plugin = self.data_connector_class
# Is the authentication method set?
auth_method = AuthMethod(self.auth_method)
if not auth_method:
......
......@@ -65,6 +65,7 @@
<hr>
{% if datasource.is_catalogue %}
<h2 class="mt-3">Data Sets</h2>
<script type="application/javascript">
......@@ -113,5 +114,6 @@
<div id="dataset-results" class="row px-2">
</div>
{% endif %}
{% endblock %}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment