Рекурсивные символы в Rake? - PullRequest
1 голос
/ 20 марта 2010

Следуйте до этого вопроса о GNU make :

У меня есть каталог, flac, содержащий файлы .FLAC. У меня есть соответствующий каталог mp3, содержащий файлы MP3. Если FLAC-файл является более новым, чем соответствующий MP3-файл (или соответствующий MP3-файл не существует), тогда я хочу запустить набор команд для преобразования FLAC-файла в MP3-файл и скопировать теги.

The kicker: мне нужно рекурсивно искать в каталоге flac и создавать соответствующие подкаталоги в каталоге mp3. Каталоги и файлы могут содержать пробелы в именах и именоваться в UTF-8.

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

1 Ответ

2 голосов
/ 20 марта 2010

Лучшее из того, что я придумала, выглядит так:

FLAC_FILES = FileList['flac/**/*.flac']

FLAC_FILES.each do |flac|
  mp3 = flac.pathmap("%{^flac,mp3}X.mp3")
  file mp3 => flac do
    puts "Converting #{flac} to #{mp3}"
  end
  task :default => mp3
end

Критика, кто-нибудь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...