Source code for sisense.data.connection
from sisense.resource import Resource
[docs]class Connection(Resource):
[docs] def all(self, **kwargs) -> list:
"""
Get all connections.
:param kwargs: Optional keyword arguments.
- sort: (str) Field by which the result should be sorted.
- skip: (int) Number the results to skip from the start. USe for paging.
- limit: (int) Nuber of results to retrieve.
:return: a list of Connection objects.
"""
content = self._api.get('connection', query=kwargs)
connections = [Connection(self._api, c) for c in content]
return connections
[docs] def get(self, oid: str) -> Resource:
"""
Get the specified connection.
:param oid: (str) Connections's ID.
:return: (Connection)
"""
content = self._api.get(f'connection/{oid}')
return Connection(self._api, content)
[docs] def create(self, **kwargs) -> Resource:
"""
Create a new connection.
:param kwargs: Keyword arguments.
- owner: (str) User's ID.
- provider: (str) Connection type: Excel, MySQL, MS SQL...
- timeout: (int) Connection timeout.
- refreshRate: (float) Optional. Just for live models.
- timezone: (str) Optional. Timezone.
- schema: (str) Database schema that will be used.
- parameters: (dict) Other parameters such as UserName, Password, Database...
:return: (Connection) The new connection.
"""
content = self._api.post('connection', data=kwargs)
return Connection(self._api, content)
[docs] def update(self, **kwargs) -> Resource:
"""
Update the current connection.
:param kwargs: Keyword arguments.
- owner: (str) User's ID.
- provider: (str) Connection type: Excel, MySQL, MS SQL...
- timeout: (int) Connection timeout.
- refreshRate: (float) Optional. Just for live models.
- timezone: (str) Optional. Timezone.
- schema: (str) Database schema that will be used.
- parameters: (dict) Other parameters such as UserName, Password, Database...
:return: (Connection) The updated connection.
"""
content = self._api.patch(f'connection/{self._id}', data=kwargs)
return Connection(self._api, content)
[docs] def delete(self):
"""Delete the current connection."""
self._api.delete(f'connection/{self._id}')