Вспомогательные функции

class axipy.SelectedFilter

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

filter: Optional[str]

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

axipy.open_file_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Union[str, Path]] = None, file_name: Optional[str] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_open_path: bool = True) → Optional[Path]

Открывает диалог выбора файла. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

Параметры:
  • filter_arg – Типы файлов. Например: 'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'.

  • title – Заголовок диалога.

  • folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

  • file_name – Предлагаемое в диалоге имя файла

  • selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, 'Таблицы Excel (*.xls *.xlsx)'. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

  • icon – Иконка для диалога, если необходимо ее переопределить

  • set_last_open_path – Автоматически запоминать путь открытия в настройках Аксиомы.

Результат:

Возвращает путь к выбранному файлу или None.

axipy.open_files_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Union[str, Path]] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_open_path: bool = True) → Optional[Tuple[Path, ...]]

Открывает диалог выбора нескольких файлов.

Параметры:
  • filter_arg – Типы файлов. Например: 'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'.

  • title – Заголовок диалога.

  • folder – Начальная папка диалога или же имя файла. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

  • selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, 'Таблицы Excel (*.xls *.xlsx)'. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

  • icon – Иконка для диалога, если необходимо ее переопределить

  • set_last_open_path – Автоматически запоминать путь открытия в настройках Аксиомы.

Результат:

Возвращает список с путями к выбранным файлам или None.

Пример:

title = 'Файлы для открытия'
filter = 'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'
folder = Path('/home/user/outfile.tab')
selected_filter = 'MapInfo Tab (*.tab)'
res = axipy.open_files_dialog(filter, title, folder, selected_filter)
[print(fn) for fn in res]
axipy.save_file_dialog(filter_arg: Optional[str] = None, title: Optional[str] = None, folder: Optional[Path] = None, file_name: Optional[str] = None, selected_filter: Optional[Union[str, SelectedFilter]] = None, icon: Optional[QIcon] = None, set_last_save_path: bool = True) → Optional[Path]

Открывает диалог сохранения файла. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

Параметры:
  • filter_arg – Типы файлов. Например: 'MapInfo Tab (*.tab);;Таблицы Excel (*.xls *.xlsx)'.

  • title – Заголовок диалога.

  • folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

  • file_name – Предлагаемое в диалоге имя файла.

  • selected_filter – Выбранный фильтр типов файлов. Устанавливается необходимая строка из параметра filter_arg. Например, 'Таблицы Excel (*.xls *.xlsx)'. Также, можно использовать класс-контейнер axipy.SelectedFilter, чтобы получить значение фильтра, выбранное пользователем.

  • icon – Иконка для диалога, если необходимо ее переопределить.

  • set_last_save_path – Автоматически запоминать путь сохранения в настройках Аксиомы.

Результат:

Возвращает выбранный путь сохранения или None.

axipy.select_folder_dialog(title: Optional[str] = None, folder: Optional[Union[str, Path]] = None) → Optional[Path]

Открывает диалог выбора папки. Если нет главного окна Аксиомы, спрашивает путь к файлу в консоли.

Параметры:
  • title – Заголовок диалога.

  • folder – Начальная папка диалога. Если папка отсутствует, будет предложена первая из доступных вверх по иерархии или же папка в домашнем каталоге.

Результат:

Возвращает выбранную папку или None.

axipy.execfile(path: Union[str, Path], *args: Any)

Выполняет скрипт на языке python из файла.

Параметры:
  • path – Путь к исполняемому файлу.

  • args – Дополнительные аргументы.

Пример вызова без параметров:

axipy.execfile('sample_script.py')

Пример вызова с передачей параметров:

axipy.execfile('sample_script.py', '--param_one', '--param_two')

Содержимое файла sample_script.py:

import sys
print(f"Первый параметр: {sys.argv[1]}")
print(f"Второй параметр: {sys.argv[2]}")
axipy.get_dependencies_folder() → Path

Возвращает папку, для установки зависимых пакетов.

axipy.run_in_gui(function: ~typing.Callable[[~P], ~axipy.utils.run_in_gui.T], *args: ~typing.~P, **kwargs: ~typing.~P) → T

Выполняет переданную функцию в потоке интерфейса.

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

Исключения, возникшие в function повторно выбрасываются с сохранением их исходного стека вызовов.

Исключение:
  • RuntimeError – объект приложения не существует, или вызов не удалось передать в поток интерфейса.

  • GuiThreadTimeout – поток интерфейса так и не принял вызов.

  • Exception – Оригинальные исключения, выбрасываемые переданной функцией.

exception axipy.GuiThreadTimeout

Поток интерфейса не принял вызов в отведенное время (1 минута). Срабатывание исключения означает что вызов переданной функции не выполнялся и не будет выполнен в дальнейшем.