DataManager - Каталог данных

class axipy.da.DataManager

Хранилище объектов данных. При открытии таблицы или растра эти объекты автоматически попадают в данный каталог. Для отслеживания изменений в каталоге используются события added и removed.

Примечание

Используйте готовый экземпляр этого класса axipy.da.data_manager.

Пример использования.
# Отслеживание добавления или удаления в каталоге.
data_manager.added.connect(lambda: print('Таблица добавлена в каталог'))
data_manager.removed.connect(lambda: print('Таблица удалена из каталога'))
# Открываем таблицу
table = provider_manager.openfile(filepath)
# Список объектов каталога
for t in data_manager:
    print(t.name)
# Закрываем таблицу
table.close()
'''
Таблица добавлена в каталог
world
Таблица удалена из каталога
'''
add(data_object)

Добавляет объект данных в хранилище.

Параметры

data_object (DataObject) – Объект данных для добавления.

property added

Signal[str] Сигнал о добавлении объекта.

Тип результата

Signal

property all_objects

Список всех объектов, включая скрытые.

Тип результата

List[DataObject]

property count

Количество объектов данных.

Тип результата

int

exists(obj)

Проверяет присутствует ли объект в каталоге. Проверяет так-же и скрытые объекты, которые отсутствуют в общем списке.

Параметры

obj (DataObject) – проверяемый объект данных.

Тип результата

bool

find(name)

Производит поиск объект данных по имени.

Параметры

name (str) – Имя объекта данных.

Тип результата

Optional[DataObject]

Результат

Искомый объект данных или None.

property objects

Список объектов.

Тип результата

List[DataObject]

query(query_text)

Выполняет SQL-запрос к перечисленным таблицам.

Параметры

query_text (str) – Текст запроса.

Тип результата

Optional[Table]

Результат

Таблица, если результатом запроса является таблица.

Исключение

RuntimeError – При возникновении ошибки.

Пример:

query_text = "SELECT * FROM world, caps WHERE world.capital = caps.capital"
joined = catalog.query(query_text)
query_hidden(query_text)

Выполняет SQL-запрос к таблицам. В отличие от query() результирующий объект Table добавляется в каталог как скрытый объект. Он не учитывается в общем списке и от него из этого каталога не приходят события.

Параметры

query_text (str) – Текст запроса.

Тип результата

Optional[Table]

Результат

Таблица, если результатом запроса является таблица.

remove(data_object)

Удаляет объект данных.

Объект данных при этом закрывается.

Параметры

data_object (DataObject) – Объект данных для удаления.

remove_all()

Удаляет все объекты данных.

property removed

Signal[str] Сигнал об удалении объекта.

Тип результата

Signal

property selection

Таблица выборки, если она существует.

См.также

axipy.gui.selection_manager

Тип результата

Optional[Table]

property tables

Список таблиц.

Тип результата

List[Table]

property updated

Signal[] Сигнал об изменении количества объектов.

Тип результата

Signal