DataSource - Абстрактный источник данных

class axioma.core.dp.DataSource

Абстрактный источник данных. Этот класс предоставляет интерфейс для работы с отдельным источником данных, например, файлом, базой данных, веб-службой, и так далее.

От него наследуются: DatabaseSource

accessMode()

Режим доступа к источнику данных

Результат:только на чтение, или на чтение и запись
Тип результата:AccessMode
openDataObject(dataObjectDef)

Производится открытие объекта данных по его описанию. Для открытия источников данных лучше воспользоваться функцией open_json()

Параметры:dataObjectDef (DataObjectDefinition) – Описание объекта данных для открытия
Тип результата:DataObject

Пример открытия таблицы с именем world:

objDef = NamedObjectDefinition("world")
table = ds.openDataObject(objDef)
canRemoveEmpty()

Функция необходима для определения, будет ли ли удаляться источник данных из каталога, если был удален последний объект данных из этого источника.

Результат:True, если да. В противном случае False
Тип результата:bool
contents()

Выдает перечень таблиц, которые доступны для открытия в рамках данного источника данных

Тип результата:list [DataObjectDefinition]
ds = dataProvider.openDataSource(dbDef)
if ds is not None:
        for ci in ds.contents(): # Перечень таблиц в источнике данных
                print("Таблица {}".format(ci.name())) # Печатает наменование таблицы
createDataObject(name, spec)

Создание объекта данных на базе его описания.

Параметры:
  • name (str) – Наименование объекта. Создание невозможно, если объект с таким именем уже существует.
  • spec (QJsonObject) – Параметры спецификации (схемы таблицы). Подробнее описаны в create_from_json()
Тип результата:

DataObject

dataSourceDefinition()

Эта функция предоставляет доступ к описанию источника данных

Результат:описание источника данных
Тип результата:DataSourceDefinition
dataSourceId()

Идентификатор источника данных

Результат:уникальный номер для каждого открытого источника данных
provider()

Эта функция предоставляет доступ к провайдеру, создавшему этот источник данных

Результат:провайдер, создавший этот источник данных
Тип результата:DataProvider