Как смотреть контент из подпапки родительской папки с помощью watchman?

Я разрабатываю загрузчик изображений, просматривая файлы. Изображения заключены в папку (подпапку), и эта папка копируется в родительскую папку, за которой ведется наблюдение.

Пример:

~/parent/subfolder1/image1.png
~/parent/subfolder2/image2.png

Как просмотреть эти изображения, используя аргумент родительской папки, передаваемый сторожу? или Как включить подпапки?

Это то, что у меня есть сейчас:

export PARENT_FOLDER = ~/parent/
export UPLOADER_SCRIPT = ~/upload_image.sh
watchman -- trigger $PARENT_FOLDER upload_image -- $UPLOADER_SCRIPT

Внутри upload_image.sh это просто функция загрузки с путем к файлу изображения в качестве аргумента.

python upload.py image1.png

person Nikko    schedule 29.04.2020    source источник


Ответы (1)


Используйте расширенный синтаксис: http://facebook.github.io/watchman/docs/trigger#extended-syntax, чтобы вы могли определять более подробные выражения соответствия. Например, это будет соответствовать любому файлу .png, использующему выражение glob, но вы можете использовать любое из терминов выражения, чтобы определить именно то, что вам нужно:

$ watchman -j <<-EOT
["trigger", "/path/to/parent", {
  "name": "upload_image",
  "expression": ["match", "**/*.png"],
  "command": ["/path/to/upload_image.sh"]
}]
EOT

Вы также можете взглянуть на anyof, чтобы объединить несколько критериев.

person Wez Furlong    schedule 29.04.2020
comment
Спасибо! Как сохранить эту конфигурацию в .json? И вызвать json? - person Nikko; 30.04.2020
comment
Думаю, это ответило на мой вопрос. stackoverflow .com/questions/46291142/ - person Nikko; 30.04.2020