Spec-Zone.ru › Hammerspoon

hs.fs.xattr

Получение и изменение расширенных атрибутов для файлов и каталогов

Этот подмодуль предоставляет функции для получения и установки расширенных атрибутов для файлов и каталогов. Доступ к расширенным атрибутам предоставляется через функции Darwin xattr, определенные в заголовке /usr/include/sys/xattr.h. Имена атрибутов должны соответствовать правильным строкам UTF-8, а значения представляются как сырые данные — в Lua сырые данные представлены как байты в объекте строки, но байты не обязаны соответствовать правильным последовательностям байтов UTF-8. Этот модуль не выполняет никакого кодирования или декодирования сырых данных.

Все функции, предоставляемые этим модулем, могут принимать таблицу опций. Обратите внимание, что не все опции допустимы для всех функций. Таблица опций должна быть таблицей Lua, содержащей массив из нуля или более следующих строк:

  • "noFollow" — не следовать символическим ссылкам; это можно использовать для доступа к атрибутам самой ссылки.
  • "hfsCompression" — получить доступ к расширенным атрибутам сжатия HFS Plus для файла или каталога, если они присутствуют
  • "createOnly" — при установке значения атрибута, отказаться, если атрибут уже существует
  • "replaceOnly" — при установке значения атрибута, отказаться, если атрибут не существует

Обратите внимание, что следующие опции, по-видимому, не были допустимы для начальных тестов, проведенных при разработке этого модуля, и могут ссылаться на функции уровня ядра, недоступные Hammerspoon; они включены здесь для полной совместимости с библиотекой, как определено в ее заголовке. Если у вас есть дополнительная информация об этих опциях или вы можете предоставить примеры или документацию об их использовании, отправьте вопрос в репозиторий Hammerspoon на GitHub, чтобы мы могли предоставить здесь более подробную документацию.

  • "noSecurity" — обойти проверку авторизации
  • "noDefault" — обойти файл по умолчанию расширенных атрибутов (файл с именем точка-подчеркивание)

Обзор API

  • Функции — вызовы API, предлагаемые непосредственно расширением
    • get
    • getHumanReadable
    • list
    • remove
    • set

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

Функции

get
Подпись hs.fs.xattr.get(path, attribute, [options], [position]) -> string | true | nil
Тип Функция
Описание

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

Параметры
  • path — строка, указывающая путь к файлу или каталогу, из которого нужно получить расширенный атрибут
  • attribute — строка, указывающая имя расширенного атрибута, значение которого нужно получить
  • options — необязательная таблица, содержащая опции, как описано в заголовке документации этого модуля. По умолчанию {} (пустой массив).
  • position — необязательное целое число, указывающее смещение внутри расширенного атрибута. По умолчанию 0. Установка этого аргумента в значение, отличное от 0, допустима только при attribute равном "com.apple.ResourceFork".
Возвращаемое значение
  • Если атрибут существует для файла или каталога и содержит данные, возвращает значение атрибута как строку сырых байтов, которые не гарантированно соответствуют правильным последовательностям байтов UTF-8. Если атрибут существует, но не имеет значения, возвращает логическое значение Lua true. Если атрибут не существует, возвращает nil. При ошибке генерируется ошибка Lua с описанием причины ошибки.
Примечания
  • См. также hs.fs.xattr.getHumanReadable.
Источник extensions/fs/libfs_xattr.m строка 156
getHumanReadable
Подпись hs.fs.xattr.getHumanReadable(path, attribute, [options], [position]) -> string | true | nil
Тип Функция
Описание

Обертка над hs.fs.xattr.get, которая возвращает данные, не являющиеся UTF-8, в виде шестнадцатеричного представления, предоставленного hs.utf8.hexDump.

Параметры
  • path — строка, указывающая путь к файлу или каталогу, из которого нужно получить расширенный атрибут
  • attribute — строка, указывающая имя расширенного атрибута, значение которого нужно получить
  • options — необязательная таблица, содержащая опции, как описано в заголовке документации этого модуля. По умолчанию {} (пустой массив).
  • position — необязательное целое число, указывающее смещение внутри расширенного атрибута. По умолчанию 0. Установка этого аргумента в значение, отличное от 0, допустима только при attribute равном "com.apple.ResourceFork".
Возвращаемое значение
  • Если возвращаемые данные не соответствуют правильным последовательностям байтов UTF-8, строка сначала передается через hs.utf8.hexDump. В противном случае возвращаемые значения соответствуют описанию для hs.fs.xattr.get .
Примечания
  • Это предоставляется для целей тестирования и отладки; в общем случае, вероятно, вам потребуется hs.fs.xattr.get, как только вы узнаете, как правильно интерпретировать возвращаемые данные атрибута.
  • Это аналогично опции long format в команде командной строки xattr.
Источник extensions/fs/fs.lua строка 11
list
Подпись hs.fs.xattr.list(path, [options]) -> table
Тип Функция
Описание

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

Параметры
  • path — строка, указывающая путь к файлу или каталогу, для которого нужно получить список расширенных атрибутов
  • options — необязательная таблица, содержащая опции, как описано в заголовке документации этого модуля. По умолчанию {} (пустой массив).
Возвращаемое значение
  • таблица, содержащая массив строк, идентифицирующих расширенные атрибуты, которые в данный момент определены для файла или каталога; обратите внимание, что порядок атрибутов не предопределен и не гарантируется, что он будет таким же при последующих запросах. При ошибке генерируется ошибка Lua с описанием причины ошибки.
Источник extensions/fs/libfs_xattr.m строка 208
remove
Подпись hs.fs.xattr.remove(path, attribute, [options]) -> boolean
Тип Функция
Описание

Удаляет указанный расширенный атрибут из файла или каталога по указанному пути.

Параметры
  • path — строка, указывающая путь к файлу или каталогу, из которого нужно удалить расширенный атрибут
  • attribute — строка, указывающая имя расширенного атрибута, который нужно удалить
  • options — необязательная таблица, содержащая опции, как описано в заголовке документации этого модуля. По умолчанию {} (пустой массив).
Возвращаемое значение
  • True, если операция выполнена успешно; в противном случае генерируется ошибка Lua с описанием причины ошибки.
Источник extensions/fs/libfs_xattr.m строка 126
set
Подпись hs.fs.xattr.set(path, attribute, value, [options], [position]) -> boolean
Тип Функция
Описание

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

Параметры
  • path — строка, указывающая путь к файлу или каталогу, для которого нужно установить расширенный атрибут
  • attribute — строка, указывающая имя расширенного атрибута, который нужно установить
  • value — строка, содержащая значение, которое нужно установить для расширенного атрибута. Это значение обрабатывается как последовательность сырых байтов и не обязательно должно соответствовать последовательностям байтов UTF-8.
  • options — необязательная таблица, содержащая опции, как описано в заголовке документации этого модуля. По умолчанию {} (пустой массив).
  • position — необязательное целое число, указывающее смещение внутри расширенного атрибута. По умолчанию 0. Установка этого аргумента в значение, отличное от 0, допустима только при attribute равном "com.apple.ResourceFork".
Возвращаемое значение
  • True, если операция выполнена успешно; в противном случае генерируется ошибка Lua с описанием причины ошибки.
Источник extensions/fs/libfs_xattr.m строка 87

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.fs.xattr.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API