Spec-Zone.ru › Hammerspoon

hs.fs

Доступ к файловой системе/просмотр

Этот модуль является частичным супермножеством LuaFileSystem 1.8.0 (http://keplerproject.github.io/luafilesystem/). Он был изменен для удаления функций, неприменимых к файловым системам macOS, и добавлены дополнительные функции, предоставляющие информацию о файловой системе, специфичную для macOS.

Подмодули

  • hs.fs.volume
  • hs.fs.xattr

Обзор API

  • Функции — API-вызовы, предлагаемые непосредственно расширением
    • attributes
    • chdir
    • currentDir
    • dir
    • displayName
    • fileUTI
    • fileUTIalternate
    • getFinderComments
    • link
    • lock
    • lockDir
    • mkdir
    • pathFromBookmark
    • pathToAbsolute
    • pathToBookmark
    • rmdir
    • setFinderComments
    • symlinkAttributes
    • tagsAdd
    • tagsGet
    • tagsRemove
    • tagsSet
    • temporaryDirectory
    • touch
    • unlock
    • urlFromPath

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

Функции

attributes
Подпись hs.fs.attributes(filepath [, aName]) -> table or string or nil,error
Тип Функция
Описание

Получение атрибутов файла

Параметры
  • filepath - Строка, содержащая путь к файлу для проверки
  • aName - Необязательное имя атрибута. Если это значение указано, возвращается только запрошенный атрибут
Возвращаемые значения
  • Таблица с атрибутами файла, соответствующими filepath (или nil и сообщение об ошибке в случае ошибки). Если указан второй необязательный аргумент, возвращается строка со значением указанного атрибута. Режим атрибута — строка, все остальные — числа, а атрибуты, связанные со временем, используют ту же временную отметку, что и os.time:
  • dev - Число, содержащее устройство, на котором находится файл
  • ino - Число, содержащее индекс файла
  • mode - Строка, содержащая тип файла (возможные значения: файл, директория, ссылка, сокет, именованная труба, символьное устройство, блочное устройство или другое)
  • nlink - Число, содержащее количество жёстких ссылок на файл
  • uid - Число, содержащее идентификатор пользователя владельца
  • gid - Число, содержащее идентификатор группы владельца
  • rdev - Число, содержащее тип устройства для файлов, являющихся символьных/блочных устройствами
  • access - Число, содержащее время последнего доступа к файлу (в секундах с момента эпохи Unix)
  • change - Число, содержащее время последнего изменения статуса файла (в секундах с момента эпохи Unix)
  • modification - Число, содержащее время последнего изменения содержимого файла (в секундах с момента эпохи Unix)
  • permissions - Строка из 9 символов, указывающая разрешения доступа пользователя к файлу. Первые три символа представляют разрешения Чтение/Запись/Исполнение для владельца файла. Первый символ будет "r", если пользователь имеет право на чтение, "-" если нет; второй — "w", если пользователь имеет право на запись, "-" если нет; третий — "x", если пользователь имеет право на выполнение, "-" если нет. Вторая группа из трёх символов следует той же соглашения, но относится к правам группы владельца на Чтение/Запись/Исполнение, а последние три символа следуют той же соглашения, но относятся к другим системным пользователям, не попадающим под поля Владелец или Группа.
  • creation - Число, содержащее время создания файла (в секундах с момента эпохи Unix)
  • size - Число, содержащее размер файла в байтах
  • blocks - Число, содержащее количество выделенных блоков для файла
  • blksize - Число, содержащее оптимальный размер блока ввода-вывода файловой системы
Примечания
  • Эта функция использует stat() во внутреннем использовании, поэтому если указанный путь является символической ссылкой, она следует за ней (если она указывает на другую ссылку, цепочка прослеживается рекурсивно), и информация относится к файлу, на который она ссылается. Чтобы получить информацию о самой ссылке, см. функцию hs.fs.symlinkAttributes()
Источник extensions/fs/libfs.m строка 742
chdir
Подпись hs.fs.chdir(path) -> true or (nil,error)
Тип Функция
Описание

Изменение текущей рабочей директории на указанный путь.

Параметры
  • path - Строка, содержащая путь для изменения рабочей директории
Возвращаемые значения
  • В случае успеха возвращает true, в противном случае nil и строку с ошибкой
Источник extensions/fs/libfs.m строка 127
currentDir
Подпись hs.fs.currentDir() -> string or (nil,error)
Тип Функция
Описание

Получение текущей рабочей директории

Параметры
  • Нет
Возвращаемые значения
  • Строка, содержащая текущую рабочую директорию, или nil и строку с ошибкой в случае ошибки
Источник extensions/fs/libfs.m строка 155
dir
Подпись hs.fs.dir(path) -> iter_fn, dir_obj, nil, dir_obj
Тип Функция
Описание

Создает итератор для обхода пути в файловой системе

Параметры
  • path - Строка, содержащая директорию для итерации
Возвращаемые значения
  • Функция итератора
  • Объект данных, передаваемый функции итератора, или сообщение об ошибке в виде строки
  • nil в качестве начального аргумента для итератора (не используется и не требуется в этом случае, но соответствует спецификации Lua для итераторов). Игнорируйте это значение, если вы не используете эту функцию с for (см. Примечания).
  • Второй объект данных, используемый for для закрытия объекта директории сразу же при завершении цикла. Игнорируйте это значение, если вы не используете эту функцию с for (см. Примечания).
Примечания
  • В отличие от большинства функций в этом модуле, hs.fs.dir выдаст ошибку Lua, если предоставленный путь не может быть обработан итератором.

  • Самый простой способ использования этой функции — с циклом for. Когда используется таким образом, цикл for сам позаботится о закрытии потока директории, даже если мы выйдем из цикла раньше.

       for file in hs.fs.dir("/Users/Guest/Documents") do
           print(file)
       end
    
  • Также возможно использовать dir_obj напрямую, если вы этого хотите:

       local iterFn, dirObj = hs.fs.dir("/Users/Guest/Documents")
       local file = dirObj:next() -- get the first file in the directory
       while (file) do
           print(file)
           file = dirObj:next() -- get the next file in the directory
       end
       dirObj:close() -- necessary to make sure that the directory stream is closed
    
Источник extensions/fs/libfs.m строка 473
displayName
Подпись hs.fs.displayName(filepath) -> string
Тип Функция
Описание

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

Параметры
  • filepath - Путь к файлу или директории
Возвращаемые значения
  • строка, содержащая отображаемое имя файла или директории по указанному пути; возвращает nil, если файл с указанным путем не существует.
Источник extensions/fs/libfs.m строка 1026
fileUTI
Подпись hs.fs.fileUTI(path) -> string or nil
Тип Функция
Описание

Возвращает идентификатор универсального типа для указанного местоположения файла.

Параметры
  • path - путь к файлу, для которого нужно вернуть UTI.
Возвращаемые значения
  • строка, содержащая идентификатор универсального типа для указанного местоположения файла, или nil в случае ошибки
Источник extensions/fs/libfs.m строка 938
fileUTIalternate
Подпись hs.fs.fileUTIalternate(fileUTI, type) -> string
Тип Функция
Описание

Возвращает эквивалентную форму fileUTI в альтернативном формате спецификации типа.

Параметры
  • строка, содержащая file UTI, например, возвращённую функцией hs.fs.fileUTI.
  • строка, определяющая альтернативный формат UTI. Эта строка может быть одной из следующих: * extension — как расширение файла, обычно используется для платформенно-независимого обмена файлами, когда метаданные файлов не гарантируют кросс-платформенную совместимость. Обычно считается ненадежным, когда доступны другие методы определения типа файла.
    • mime — как тип MIME, обычно используется интернет-приложениями, такими как веб-браузеры и почтовые приложения.
    • pasteboard — как тип NSPasteboard (см. hs.pasteboard).
    • ostype — четырёхсимвольный тип файла, наиболее распространённый до OS X, но всё ещё используется в некоторых устаревших API.
Возвращаемые значения
  • file UTI в альтернативном формате или nil, если UTI не имеет альтернативы указанного типа.
Источник extensions/fs/libfs.m строка 962
getFinderComments
Signature hs.fs.getFinderComments(path) -> string
Type Function
Description

Получить комментарии Finder для файла или каталога по указанному пути

Parameters
  • path - путь к файлу или каталогу, комментарии которого требуется получить
Returns
  • строка, содержащая комментарии Finder для указанного файла или каталога. Если для файла не заданы комментарии, возвращает пустую строку. При возникновении ошибки, чаще всего при недопустимом пути, эта функция сгенерирует ошибку Lua.
Notes
  • Эта функция использует hs.osascript для доступа к комментариям файла через AppleScript
Source extensions/fs/fs.lua строка 68
link
Signature hs.fs.link(old, new[, symlink]) -> true or (nil,error)
Type Function
Description

Создаёт ссылку

Parameters
  • old - строка, содержащая путь к файловой системе, с которой нужно создать ссылку
  • new - строка, содержащая путь, где должна быть создана ссылка
  • symlink - необязательный логический параметр, true для создания символической ссылки, false для создания жёсткой ссылки. По умолчанию false
Returns
  • True, если ссылка была создана, иначе nil и сообщение об ошибке
Source extensions/fs/libfs.m строка 346
lock
Signature hs.fs.lock(filehandle, mode[, start[, length]]) -> true or (nil,error)
Type Function
Description

Блокирует файл или его часть

Parameters
  • filehandle - открытый файл
  • mode - строка, содержащая "r" для общей блокировки чтения или "w" для эксклюзивной блокировки записи
  • start - необязательное число, содержащее смещение в файле для начала блокировки. По умолчанию 0
  • length - необязательное число, содержащее длину файла для блокировки. По умолчанию вся длина файла
Returns
  • True, если блокировка была успешно получена, иначе nil и сообщение об ошибке
Source extensions/fs/libfs.m строка 209
lockDir
Signature hs.fs.lockDir(path, [seconds_stale]) -> lock or (nil,error)
Type Function
Description

Блокирует каталог

Parameters
  • path - строка, содержащая путь к каталогу
  • seconds_stale - необязательное число, содержащее возраст (в секундах) после которого существующую блокировку следует считать устаревшей. По умолчанию INT_MAX (что, грубо говоря, эквивалентно "никогда")
Returns
  • В случае успеха, объект блокировки, иначе nil и сообщение об ошибке
Notes
  • Это не функция низкого уровня ОС, блокировка фактически представляет собой файл, созданный в указанном пути, с именем lockfile.lfs, поэтому каталог должен быть доступен для записи, чтобы эта функция работала успешно
  • Возвращаемый объект блокировки можно освободить с помощью lock:free()
  • Если блокировка уже существует и не устарела, возвращённое сообщение об ошибке будет "Файл существует"
Source extensions/fs/libfs.m строка 241
mkdir
Signature hs.fs.mkdir(dirname) -> true or (nil,error)
Type Function
Description

Создаёт новый каталог

Parameters
  • dirname - строка, содержащая путь к каталогу, который нужно создать
Returns
  • True, если каталог был создан, иначе nil и сообщение об ошибке
Source extensions/fs/libfs.m строка 382
pathFromBookmark
Signature hs.fs.pathFromBookmark(data) -> string | nil, string
Type Function
Description

Получение пути к файлу из закодированной двоичной закладки.

Parameters
  • data - закодированная двоичная закладка.
Returns
  • строка, содержащая путь к URL закладки или nil при возникновении ошибки.
  • Сообщение об ошибке при возникновении ошибки.
Notes
  • Закладка предоставляет постоянную ссылку на ресурс файловой системы. При разрешении закладки вы получаете URL текущего расположения ресурса. Связь закладки с ресурсом файловой системы (обычно файлом или папкой) обычно сохраняется, если пользователь перемещает или переименовывает ресурс, или если пользователь перезапускает приложение или систему.
  • При разрешении данных закладки тома не монтируются.
Source extensions/fs/libfs.m строка 1078
pathToAbsolute
Signature hs.fs.pathToAbsolute(filepath) -> string
Type Function
Description

Получение абсолютного пути к заданному пути

Parameters
  • filepath - Любой путь к файлу или каталогу, относительный или абсолютный
Returns
  • строка, содержащая абсолютный путь к filepath, (т.е. без ., .. или символических ссылок)
  • Обратите внимание, что символические ссылки будут разрешены до целевого файла
Source extensions/fs/libfs.m строка 999
pathToBookmark
Signature hs.fs.pathToBookmark(path) -> string | nil
Type Function
Description

Возвращает путь в виде закодированных двоичных данных закладки.

Parameters
  • path - путь для кодирования
Returns
  • Данные закладки в закодированной двоичной строке или nil если путь недопустим.
Source extensions/fs/libfs.m строка 1047
rmdir
Signature hs.fs.rmdir(dirname) -> true or (nil,error)
Type Function
Description

Удаляет существующий каталог

Parameters
  • dirname - строка, содержащая путь к каталогу для удаления
Returns
  • True, если каталог был удалён, иначе nil и сообщение об ошибке
Source extensions/fs/libfs.m строка 411
setFinderComments
Signature hs.fs.setFinderComments(path, comment) -> boolean
Type Function
Description

Устанавливает комментарии Finder для файла или каталога по указанному пути

Parameters
  • path - путь к файлу или каталогу, комментарии которого нужно установить
  • comment - строка, определяющая устанавливаемый комментарий. Если этот параметр отсутствует или явно равен nil, существующий комментарий очищается.
Returns
  • true при успехе; при ошибке, чаще всего при недопустимом пути, функция сгенерирует ошибку Lua.
Notes
  • Эта функция использует hs.osascript для доступа к комментариям файла через AppleScript
Source extensions/fs/fs.lua строка 95
symlinkAttributes
Signature hs.fs.symlinkAttributes (filepath [, aname]) -> table or string or nil,error
Type Function
Description

Получение атрибутов символической ссылки

Parameters
  • filepath - строка, содержащая путь к ссылке для проверки
  • aName - необязательное имя атрибута. Если это значение указано, возвращается только запрошенный атрибут
Returns
  • таблица или строка, если значения найдены, в противном случае nil и сообщение об ошибке.
Notes
  • Значения возврата для этой функции идентичны тем, которые предоставляет hs.fs.attributes(), с добавлением: атрибута с именем "target", который определяет строку, содержащую абсолютный путь, к которому указывает символическая ссылка.
Source extensions/fs/fs.lua строка 127
tagsAdd
Signature hs.fs.tagsAdd(filepath, tags)
Type Function
Description

Добавляет один или несколько тегов к тегам Finder файла

Parameters
  • filepath - строка, содержащая путь к файлу
  • tags - таблица, содержащая одну или несколько строк, каждая из которых содержит имя тега
Returns
  • true, если теги были обновлены; генерирует ошибку lua, если произошла ошибка при обновлении тегов
Source extensions/fs/libfs.m строка 857
МеткиGet
Подпись hs.fs.tagsGet(filepath) -> table or nil
Тип Функция
Описание

Получает метки Finder файла

Параметры
  • filepath - Строка, содержащая путь к файлу
Возвращает
  • Таблица, содержащая список меток файла, или nil, если файлу не назначены метки; выбрасывает ошибку lua, если возникла ошибка доступа к файлу
Источник extensions/fs/libfs.m строка 825
МеткиУдалить
Подпись hs.fs.tagsRemove(filepath, tags)
Тип Функция
Описание

Удаляет метки Finder из файла

Параметры
  • filepath - Строка, содержащая путь к файлу
  • tags - Таблица, содержащая одну или несколько строк, каждая из которых содержит имя метки
Возвращает
  • true, если метки были обновлены; выбрасывает ошибку lua, если при обновлении меток произошла ошибка
Источник extensions/fs/libfs.m строка 901
МеткиУстановить
Подпись hs.fs.tagsSet(filepath, tags)
Тип Функция
Описание

Устанавливает метки Finder файла, удаляя те, которые уже установлены

Параметры
  • filepath - Строка, содержащая путь к файлу
  • tags - Таблица, содержащая ноль или более строк, каждая из которых содержит имя метки
Возвращает
  • true, если метки были установлены; выбрасывает ошибку lua, если при установке новых меток произошла ошибка
Источник extensions/fs/libfs.m строка 880
ВременнаяДиректория
Подпись hs.fs.temporaryDirectory() -> string
Тип Функция
Описание

Возвращает путь к временной директории текущего пользователя.

Параметры
  • Нет
Возвращает
  • Путь к временной директории, назначенной системой для текущего пользователя.
Источник extensions/fs/libfs.m строка 924
ИзменитьВремя
Подпись hs.fs.touch(filepath [, atime [, mtime]]) -> true or (nil,error)
Тип Функция
Описание

Обновляет время доступа и изменения файла

Параметры
  • filepath - Строка, содержащая путь к файлу, для которого нужно изменить время
  • atime - Необязательное число, содержащее новое время доступа к файлу (в секундах с начала эпохи). По умолчанию - текущее время
  • mtime - Необязательное число, содержащее новое время изменения файла (в секундах с начала эпохи). По умолчанию - значение atime
Возвращает
  • True, если операция выполнена успешно, иначе nil и строка с ошибкой
Источник extensions/fs/libfs.m строка 599
Разблокировать
Подпись hs.fs.unlock(filehandle[, start[, length]]) -> true or (nil,error)
Тип Функция
Описание

Разблокирует файл или его часть.

Параметры
  • filehandle - Открытый файл
  • start - Необязательное число, содержащее смещение от начала файла для разблокировки. По умолчанию 0
  • length - Необязательное число, содержащее длину файла для разблокировки. По умолчанию - полная длина файла
Возвращает
  • True, если разблокировка выполнена успешно, иначе nil и строка с ошибкой
Источник extensions/fs/libfs.m строка 315
urlИзПути
Подпись hs.fs.urlFromPath(path) -> string | nil
Тип Функция
Описание

Возвращает закодированный URL из пути.

Параметры
  • path - Путь
Возвращает
  • Строка или nil если путь некорректен.
Источник extensions/fs/libfs.m строка 1130

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

Spec-Zone.ru

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