Estou trabalhando em um programa para baixar um vídeo do YouTube, convertê-lo em MP3 e criar uma estrutura de diretórios para os arquivos.
Meu código é:
FileUtils.cd("#{$musicdir}/#{$folder}") do
YoutubeDlhelperLibs::Downloader.get($url)
if File.exists?('*.mp4')
puts 'Remove unneeded tempfile'
Dir['*.mp4'].each do |waste|
File.delete(waste)
end
else
puts 'Temporary file already deleted'
end
Dir['*.m4a'].each do |rip|
rip.to_s
rip.split
puts 'Inside the function'
puts rip
end
end
O primeiro vai para a pasta de músicas já criada. Dentro disso eu estou executando get
. Depois disso, tenho dois arquivos no diretório: "xyz.mp4" e "xyz.m4a".
Gostaria de buscar o nome do arquivo sem a extensão para que eu possa lidar com os dois arquivos de maneira diferente.
Estou usando uma matriz, mas uma matriz para apenas uma partida parece loucura para mim.
Alguém tem outra ideia?
$globals
como você é. Eles são uma dica muito forte de que você não entende o escopo de variáveis e confia nos globais para "trapacear". Eles têm cheiro de código e levam à miséria e à dor.rip.to_s
erip.split
não faça nada.Respostas:
Você pode usar as seguintes funções para seu propósito:
fonte
extn
é a string".mp4"
ou mesmo a string".*"
.