From 8a39c8e8dc1c2660f95ae68720c9298a0cf5775d Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:25:02 -0500 Subject: [PATCH 1/8] Use spaces. --- getazure.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/getazure.rb b/getazure.rb index 83fb825..e6d1306 100644 --- a/getazure.rb +++ b/getazure.rb @@ -9,9 +9,9 @@ xml = Nokogiri::XML(open('http://s.ch9.ms/Shows/Azure-Friday/feed/mp4high')) item = xml.xpath('//item') item.each do |s| -next if File.exist? s.at('enclosure')['url'].to_s.split('/').last -File.open("#{s.at('enclosure')['url'].to_s.split('/').last}", "wb") do |file| - puts " downloading " + s.at('enclosure')['url'].to_s.split('/').last - file.write open("#{s.at('enclosure')['url']}").read - end + next if File.exist? s.at('enclosure')['url'].to_s.split('/').last + File.open("#{s.at('enclosure')['url'].to_s.split('/').last}", "wb") do |file| + puts " downloading " + s.at('enclosure')['url'].to_s.split('/').last + file.write open("#{s.at('enclosure')['url']}").read + end end From 940cde18bb1bfdefe713f274f79f8563cc30c120 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:33:58 -0500 Subject: [PATCH 2/8] Refactor source. --- getazure.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/getazure.rb b/getazure.rb index e6d1306..1616526 100644 --- a/getazure.rb +++ b/getazure.rb @@ -9,9 +9,10 @@ xml = Nokogiri::XML(open('http://s.ch9.ms/Shows/Azure-Friday/feed/mp4high')) item = xml.xpath('//item') item.each do |s| - next if File.exist? s.at('enclosure')['url'].to_s.split('/').last - File.open("#{s.at('enclosure')['url'].to_s.split('/').last}", "wb") do |file| - puts " downloading " + s.at('enclosure')['url'].to_s.split('/').last - file.write open("#{s.at('enclosure')['url']}").read + source = s.at('enclosure')['url'].to_s + next if File.exist? source.split('/').last + File.open("#{source.split('/').last}", "wb") do |file| + puts " downloading " + source.split('/').last + file.write open(source).read end end From 93a4efa695633e03f768b99be57fd1d494e4e778 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:35:54 -0500 Subject: [PATCH 3/8] Refactor name. --- getazure.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/getazure.rb b/getazure.rb index 1616526..9493d9d 100644 --- a/getazure.rb +++ b/getazure.rb @@ -10,9 +10,10 @@ item = xml.xpath('//item') item.each do |s| source = s.at('enclosure')['url'].to_s - next if File.exist? source.split('/').last - File.open("#{source.split('/').last}", "wb") do |file| - puts " downloading " + source.split('/').last + name = source.split('/').last + next if File.exist? name + File.open(name, "wb") do |file| + puts " downloading " + name file.write open(source).read end end From c618ee66efa8f212f8a8e0c27d3cffaac711ff01 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:37:36 -0500 Subject: [PATCH 4/8] More refactors. --- getazure.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/getazure.rb b/getazure.rb index 9493d9d..30c8338 100644 --- a/getazure.rb +++ b/getazure.rb @@ -4,15 +4,15 @@ require 'nokogiri' require 'fileutils' FileUtils.mkdir_p 'downloads/' -FileUtils.cd 'downloads/' xml = Nokogiri::XML(open('http://s.ch9.ms/Shows/Azure-Friday/feed/mp4high')) item = xml.xpath('//item') item.each do |s| - source = s.at('enclosure')['url'].to_s - name = source.split('/').last - next if File.exist? name - File.open(name, "wb") do |file| + source = s.at('enclosure')['url'].to_s + name = source.split('/').last + local_file = "downloads/#{name}" + next if File.exist? local_file + File.open(local_file, "wb") do |file| puts " downloading " + name file.write open(source).read end From aba8ca0ae81945b7f56652d2d2ddcc2689fd997d Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:39:23 -0500 Subject: [PATCH 5/8] Move the nokogiri loading to a method. --- getazure.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/getazure.rb b/getazure.rb index 30c8338..5030a27 100644 --- a/getazure.rb +++ b/getazure.rb @@ -4,10 +4,13 @@ require 'nokogiri' require 'fileutils' FileUtils.mkdir_p 'downloads/' -xml = Nokogiri::XML(open('http://s.ch9.ms/Shows/Azure-Friday/feed/mp4high')) -item = xml.xpath('//item') -item.each do |s| +def podcasts + feed = 'http://s.ch9.ms/Shows/Azure-Friday/feed/mp4high' + Nokogiri::XML(open(feed)).xpath('//item') +end + +podcasts.each do |s| source = s.at('enclosure')['url'].to_s name = source.split('/').last local_file = "downloads/#{name}" From b272ec2c7a0b2efda400bf0dd4d8527a48cdc449 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:40:23 -0500 Subject: [PATCH 6/8] Use full variable name when using the do/end. --- getazure.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/getazure.rb b/getazure.rb index 5030a27..6a79664 100644 --- a/getazure.rb +++ b/getazure.rb @@ -10,8 +10,8 @@ def podcasts Nokogiri::XML(open(feed)).xpath('//item') end -podcasts.each do |s| - source = s.at('enclosure')['url'].to_s +podcasts.each do |podcast| + source = podcast.at('enclosure')['url'].to_s name = source.split('/').last local_file = "downloads/#{name}" next if File.exist? local_file From b43e2f65d81ecf4974b70e85bb7e8712d04301af Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:40:52 -0500 Subject: [PATCH 7/8] A little spacing can help. --- getazure.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/getazure.rb b/getazure.rb index 6a79664..ef02d55 100644 --- a/getazure.rb +++ b/getazure.rb @@ -14,7 +14,9 @@ podcasts.each do |podcast| source = podcast.at('enclosure')['url'].to_s name = source.split('/').last local_file = "downloads/#{name}" + next if File.exist? local_file + File.open(local_file, "wb") do |file| puts " downloading " + name file.write open(source).read From c142cb097a97f36de79bc9c1472fb9ad64879922 Mon Sep 17 00:00:00 2001 From: Darren Cauthon Date: Wed, 28 May 2014 07:41:08 -0500 Subject: [PATCH 8/8] Do not forget an all done message. --- getazure.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/getazure.rb b/getazure.rb index ef02d55..fa536ab 100644 --- a/getazure.rb +++ b/getazure.rb @@ -22,3 +22,5 @@ podcasts.each do |podcast| file.write open(source).read end end + +puts 'all done!