Datasource API

API for working with the Datasource type.

Import this module like this:

from sympathy.api import datasource

Class datasource.File

class sympathy.typeutils.datasource.File(fileobj=None, data=None, filename=None, mode='r', scheme='hdf5', source=None, managed=False, import_links=False)[source]

Datasource covers the case of specifying data resources and supports four different formats: File (local file), Database (ODBC), Database SQLAlchemy and URL (for example, HTTP request).

Any node port with the Datasource type will produce an object of this kind.

Formats:

File:

Absolute filename to a local file.

Database (ODBC):

Connection string for use with a ODBC database.

Database SQLAlchemy:

Engine connection string for use with SQLAlchemy.

URL:

Arbitrary URL, can support file or http(s) schemes. In addition to the URL itself this format format allows storage of a separate environment dictionary, for example, to use as HTTP headers.

decode()[source]

Return the full dictionary for this data source.

decode_path()[source]

Return the path.

In a file data source this corresponds to the path of a file. In a data base data source this corresponds to a connection string. That can be used for accessing the data base. Returns None if path hasn’t been set.

Changed in version 1.2.5: Return None instead of raising KeyError if path hasn’t been set.

decode_type()[source]

Return the type of this data source.

It can be either 'FILE' or 'DATABASE'. Returns None if type hasn’t been set.

Changed in version 1.2.5: Return None instead of raising KeyError if type hasn’t been set.

encode(datasource_dict)[source]

Store the info from datasource_dict in this datasource.

Parameters

datasource_dict – should be a dictionary of the same format that you get from to_file_dict() or to_database_dict().

encode_database(*args, **kwargs)[source]

Store data base access info.

encode_path(filename)[source]

Store a path to a file in this datasource.

Parameters

filename – should be a string containing the path. Can be relative or absolute.

get()[source]

Return text data.

classmethod icon()[source]

Return full path to svg icon.

names(kind=None, fields=None, **kwargs)[source]

Return a formatted list with a name and type of the data. columns.

set(data)[source]

Set text data.

static to_file_dict(fq_filename)[source]

Create a dictionary to be used for creating a file data source.

You usually want to use the convenience method encode_path() instead of calling this method directly.

classmethod viewer()[source]

Return viewer class, which must be a subclass of sympathy.api.typeutil.ViewerBase