Sto lavorando a un programma per scaricare un video da YouTube, convertirlo in MP3 e creare una struttura di directory per i file.
Il mio codice è:
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
Il primo va alla cartella musicale già creata. Dentro quello che sto eseguendo get. Dopo di che ho due file nella directory: "xyz.mp4" e "xyz.m4a".
Vorrei recuperare il nome del file senza l'estensione in modo da poter gestire entrambi i file in modo diverso.
Sto usando un array, ma un array per una sola corrispondenza suona folle per me.
Qualcuno ha un'altra idea?
rip.to_se rip.splitnon fare nulla.
$globalscome sei. Sono un indizio molto forte che non capisci lo scoping delle variabili e ti affidi alle globali per "barare". Sono odori di codice e portano a sofferenza e dolore.