Документация Engee

Класс для работы с файловой системой и расширениями (UTILS_API)

Страница в процессе разработки.

UTILS_API представляет собой набор вспомогательных методов для работы с файлами и директориями на компьютере пользователя и не предназначено для директорий Engee.

С помощью UTILS_API можно:

  • Загружать файлы на компьютер;

  • Выгружать файлы с компьютера;

  • Создавать и удалять директории в файловой системе по указанным путям.

Кроме того, UTILS_API позволяет подключать внешние пользовательские модули в пакет поддержки оборудования Engee. Доступ к модулю открывается сразу после установки пакета поддержки.

function createFile(utils::Any, filename::String, filepath::String, contents::Union{Vector{UInt8}, String, Nothing}=nothing, mode::String="wb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::Nothing

Функция предназначена для создания файла с именем filename на клиентской программе пользователя в указанной директории filepath.

Аргументы

  • utils: объект типа UTILS.Utils.

  • engee_filepath: путь к файлу в директории файлового браузера Engee.

  • host_dirpath: путь к директории на клиентской программе пользователя, в который будет загружен указанный файл из Engee.

    • mode: режим открытия файла. Возможные значения:

    • "r": чтение;

    • "w": запись (перезапись);

    • "a": дозапись;

    • "wb": бинарная запись;

    • "rb": бинарное чтение.

  • buffering: параметры системного буфера работы с файлами. Возможные значения:

    • -1: системный буфер по умолчанию;

    • 0: отключить буферизацию;

    • 1: построчная буферизация (только в текстовом режиме);

    • >1: размер буфера в байтах.

  • encoding: кодировка файла. Возможные значения: "utf-8", "cp1251", "ascii", "latin-1", nothing — системная по умолчанию.

  • errors: стратегия обработки ошибок:

    • "strict": ошибка при некодируемых символах;

    • "ignore": игнорировать некодируемые символы;

    • "replace": заменять на (replacement marker);

    • "backslashreplace": заменять на escape-последовательности.

  • newline: управление переводом строки:

    • nothing или "" — универсальный режим;

    • "\n", "\r", "\r\n" — конкретный вариант перевода строки. В разных системах символ перевода строки различается:

      • Unix/Linux: \n;

      • Windows: \r\n;

      • Old MacOS: \r.

  • closefd: закрывает файловый дескриптор автоматически (true — закрывать, false — оставить открытым).

  • filename: имя создаваемого файла;

  • filepath: путь к директории для создания файла;

  • contents: содержимое файла (строка, байты или nothing).

function createFolder(utils::Any, folder_path::String, folder_name::String, mode::Int64=511, dir_fd::Union{Int64, Nothing}=nothing)::Nothing

Функция предназначена для создания директории с именем folder_name на клиентской программе пользователя в указанной директории folder_path.

Аргументы

  • utils: объект типа UTILS.Utils.

  • folder_path: путь к директории на клиентской программе пользователя, где будет создана новая папка.

    • folder_name: имя создаваемой директории.

    • mode: режим доступа для директории. Пример прав доступа:

      Права Восьмеричное Десятичное Описание

      rwxrwxrwx

      0o777

      511

      Полный доступ для всех

      rwxr-xr-x

      0o755

      493

      Стандартные права для директорий

      rwxr-x---

      0o750

      488

      Владелец: полный доступ, группа: чтение+исполнение

      rwx------

      0o700

      448

      Только владелец

      rw-rw-rw-

      0o666

      438

      Чтение+запись для всех

      rw-r—​r--

      0o644

      420

      Стандартные права для файлов

      rw-r-----

      0o640

      416

      Владелец: чтение+запись, группа: чтение

      rw-------

      0o600

      384

      Только владелец (чтение+запись)

  • dir_fd: файловый дескриптор. nothing — обычный путь, число — относительный путь через дескриптор.

function deleteExtension(utils::Any, path_to_extension::String)::Nothing

Функция предназначена для удаления указанного пути пользовательского расширения из автозагрузки в пакет поддержки оборудования Engee.

Аргументы

  • utils: объект типа UTILS.Utils.

  • path_to_extension: путь к удаляемому расширению.

function deleteFile(utils::Any, filename::String, filepath::String, ignore_if_missing::Bool=false, verbose::Bool=false)::Nothing

Функция предназначена для удаления файла с именем filename на клиентской программе пользователя в указанной директории filepath.

Аргументы

  • utils: объект типа UTILS.Utils.

  • filename: имя удаляемого файла.

  • filepath: путь к директории, где удаляется файл.

  • ignore_if_missing: false — ошибка, если файл не найден; true — игнорировать отсутствие файла.

  • verbose: выводить подробности операции (true) или нет (false).

function deleteFolder(utils::Any, folder_path::String, folder_name::String, even_if_not_empty::Bool=false, dir_fd::Union{Int64, Nothing}=nothing)

Функция предназначена для удаления директории с именем folder_name на клиентской программе пользователя в указанной директории folder_path.

Аргументы

  • utils: объект типа UTILS.Utils.

  • folder_path: путь к директории на клиентской программе пользователя.

  • folder_name: имя удаляемой директории.

  • even_if_not_empty: удалять даже если директория не пуста (true — да, false: только пустые).

  • dir_fd: файловый дескриптор: nothing — обычный путь, число — использовать относительный путь.

function downloadFile(utils::Any, engee_dirpath::String, host_filepath::String, mode::String="rb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::Nothing

Функция предназначена для выгрузки указанного файла с клиентской программы пользователя в указанную директорию файлового браузера Engee.

Аргументы

  • utils: объект типа UTILS.Utils.

  • engee_filepath: путь к файлу в директории файлового браузера Engee.

  • host_dirpath: путь к директории на клиентской программе пользователя, в который будет загружен указанный файл из Engee.

    • mode: режим открытия файла. Возможные значения:

    • "r": чтение;

    • "w": запись (перезапись);

    • "a": дозапись;

    • "wb": бинарная запись;

    • "rb": бинарное чтение.

  • buffering: параметры системного буфера работы с файлами. Возможные значения:

    • -1: системный буфер по умолчанию;

    • 0: отключить буферизацию;

    • 1: построчная буферизация (только в текстовом режиме);

    • >1: размер буфера в байтах.

  • encoding: кодировка файла. Возможные значения: "utf-8", "cp1251", "ascii", "latin-1", nothing — системная по умолчанию.

  • errors: стратегия обработки ошибок:

    • "strict": ошибка при некодируемых символах;

    • "ignore": игнорировать некодируемые символы;

    • "replace": заменять на (replacement marker);

    • "backslashreplace": заменять на escape-последовательности.

  • newline: управление переводом строки:

    • nothing или "" — универсальный режим;

    • "\n", "\r", "\r\n" — конкретный вариант перевода строки. В разных системах символ перевода строки различается:

      • Unix/Linux: \n;

      • Windows: \r\n;

      • Old MacOS: \r.

  • closefd: закрывает файловый дескриптор автоматически (true — закрывать, false — оставить открытым).

function loadExtension(utils::Any, path_to_extension::String)::Nothing

Функция предназначена для загрузки пользовательских расширений в пакет поддержки оборудования Engee.

Аргументы

  • utils: объект типа UTILS.Utils.

  • path_to_extension: путь к загружаемому расширению.

function uploadFile(utils::Any, engee_filepath::String, host_dirpath::String, mode::String="wb", buffering::Int64=-1, encoding::Union{String, Nothing}=nothing, errors::Union{String, Nothing}=nothing, newline::Union{String, Nothing}=nothing, closefd::Bool=true)::Nothing

Функция предназначена для загрузки указанного файла из файлового браузера Engee на клиентскую программу пользователя в указанную директорию.

Аргументы

  • utils: объект типа UTILS.Utils.

  • engee_filepath: путь к файлу в директории файлового браузера Engee.

  • host_dirpath: путь к директории на клиентской программе пользователя, в который будет загружен указанный файл из Engee.

    • mode: режим открытия файла. Возможные значения:

    • "r": чтение;

    • "w": запись (перезапись);

    • "a": дозапись;

    • "wb": бинарная запись;

    • "rb": бинарное чтение.

  • buffering: параметры системного буфера работы с файлами. Возможные значения:

    • -1: системный буфер по умолчанию;

    • 0: отключить буферизацию;

    • 1: построчная буферизация (только в текстовом режиме);

    • >1: размер буфера в байтах.

  • encoding: кодировка файла. Возможные значения: "utf-8", "cp1251", "ascii", "latin-1", nothing — системная по умолчанию.

  • errors: стратегия обработки ошибок:

    • "strict": ошибка при некодируемых символах;

    • "ignore": игнорировать некодируемые символы;

    • "replace": заменять на (replacement marker);

    • "backslashreplace": заменять на escape-последовательности.

  • newline: управление переводом строки:

    • nothing или "" — универсальный режим;

    • "\n", "\r", "\r\n" — конкретный вариант перевода строки. В разных системах символ перевода строки различается:

      • Unix/Linux: \n;

      • Windows: \r\n;

      • Old MacOS: \r.

  • closefd: закрывает файловый дескриптор автоматически (true — закрывать, false — оставить открытым).