youtube_dlhelper 0.1.9.5 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.gemnasium.yml +2 -2
- data/.index +94 -35
- data/.travis.yml +2 -0
- data/Gemfile +47 -4
- data/Gemfile.lock +199 -70
- data/History.rdoc +103 -0
- data/Index.yml +37 -27
- data/LICENSE.rdoc +24 -0
- data/{MANIFEST → Manifest.txt} +24 -20
- data/README.rdoc +118 -0
- data/Rakefile +96 -237
- data/VERSION +1 -1
- data/bin/youtube_dlhelper +1 -0
- data/lib/youtube_dlhelper.rb +14 -28
- data/lib/youtube_dlhelper/change.rb +1 -1
- data/lib/youtube_dlhelper/checker.rb +16 -15
- data/lib/youtube_dlhelper/downloader.rb +21 -14
- data/lib/youtube_dlhelper/ripper.rb +12 -11
- data/test/lib_spec.rb +101 -0
- data/test/spec_helper.rb +15 -0
- metadata +320 -223
- metadata.gz.sig +0 -0
- data/.gitignore +0 -4
- data/.idea/.name +0 -1
- data/.idea/.rakeTasks +0 -7
- data/.idea/dictionaries/sascha.xml +0 -3
- data/.idea/dictionaries/smanns.xml +0 -3
- data/.idea/encodings.xml +0 -5
- data/.idea/inspectionProfiles/Project_Default.xml +0 -81
- data/.idea/inspectionProfiles/profiles_settings.xml +0 -7
- data/.idea/misc.xml +0 -5
- data/.idea/modules.xml +0 -9
- data/.idea/scopes/scope_settings.xml +0 -5
- data/.idea/sonarIssues.xml +0 -29
- data/.idea/vagrant.xml +0 -7
- data/.idea/vcs.xml +0 -7
- data/.idea/workspace.xml +0 -1386
- data/.idea/workspace_conflict-20150617-151434.xml +0 -933
- data/.idea/youtube_dlhelper.iml +0 -207
- data/.idea/youtube_dlhelper_conflict-20150617-151434.iml +0 -230
- data/CHANGELOG.md +0 -80
- data/LICENSE.md +0 -187
- data/README.md +0 -76
- data/lib/youtube_dlhelper/version.rb +0 -38
- data/youtube_dlhelper.gemspec +0 -54
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
2.0.0
|
data/bin/youtube_dlhelper
CHANGED
data/lib/youtube_dlhelper.rb
CHANGED
@@ -18,7 +18,6 @@
|
|
18
18
|
|
19
19
|
# Dependencies
|
20
20
|
# rubocop:disable Metrics/LineLength
|
21
|
-
require File.expand_path(File.join(File.dirname(__FILE__), 'youtube_dlhelper/version'))
|
22
21
|
require File.expand_path(File.join(File.dirname(__FILE__), 'youtube_dlhelper/checker'))
|
23
22
|
require File.expand_path(File.join(File.dirname(__FILE__), 'youtube_dlhelper/downloader'))
|
24
23
|
require File.expand_path(File.join(File.dirname(__FILE__), 'youtube_dlhelper/import_config'))
|
@@ -28,7 +27,6 @@ require 'highline/import'
|
|
28
27
|
require 'fileutils'
|
29
28
|
require 'parseconfig'
|
30
29
|
require 'addressable/uri'
|
31
|
-
require 'viddl-rb'
|
32
30
|
require 'streamio-ffmpeg'
|
33
31
|
require 'rainbow/ext/string'
|
34
32
|
|
@@ -37,7 +35,7 @@ class YoutubeDlhelper
|
|
37
35
|
puts 'Running initialize process...'
|
38
36
|
puts 'Gets version...'
|
39
37
|
# @note Version variable
|
40
|
-
|
38
|
+
VERSION = '2.0.0'
|
41
39
|
|
42
40
|
puts 'Gets own process name...'
|
43
41
|
# @note Name of the App
|
@@ -64,27 +62,15 @@ class YoutubeDlhelper
|
|
64
62
|
|
65
63
|
puts 'Initialized...'
|
66
64
|
puts 'Launching ...'
|
67
|
-
puts "Script: #{my_name}".
|
68
|
-
puts "Version: #{version}".color(:yellow)
|
65
|
+
puts "Script: #{my_name}".colour(:yellow)
|
69
66
|
puts
|
70
|
-
puts 'Copyright (C) 2013-2015 Sascha Manns <
|
67
|
+
puts 'Copyright (C) 2013-2015 Sascha Manns <samannsml@directbox.com>'
|
71
68
|
puts 'Description: This script can download music from YouTube'
|
72
69
|
puts "converts it to OGG/MP3 and places it in #{music_dir}."
|
73
|
-
puts 'License:
|
70
|
+
puts 'License: MIT'
|
74
71
|
puts ''
|
75
|
-
puts 'This program is free software: you can redistribute it and/or modify'
|
76
|
-
puts 'it under the terms of the GNU General Public License as published by'
|
77
|
-
puts 'the Free Software Foundation, either version 3 of the License, or'
|
78
|
-
puts '(at your option) any later version.'
|
79
|
-
puts ''
|
80
|
-
puts 'This program is distributed in the hope that it will be useful,'
|
81
|
-
puts 'but WITHOUT ANY WARRANTY; without even the implied warranty of'
|
82
|
-
puts 'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the'
|
83
|
-
puts 'GNU General Public License for more details.'
|
84
|
-
puts 'You should have received a copy of the GNU General Public License'
|
85
|
-
puts 'along with this program. If not, see <http://www.gnu.org/licenses/>.'
|
86
72
|
puts 'File bugreports and feature requests there:'
|
87
|
-
puts '
|
73
|
+
puts 'https://gitlab.com/saigkill/youtube_dlhelper/issues'
|
88
74
|
|
89
75
|
# Check which decoder should used
|
90
76
|
ffmpeg_binary = Checker.which_decoder?
|
@@ -94,21 +80,21 @@ class YoutubeDlhelper
|
|
94
80
|
folder = Checker.check_target
|
95
81
|
|
96
82
|
# @note Prints out which targetfolder is choosen.
|
97
|
-
puts 'SEARCHING FOR TARGETDIR'
|
98
|
-
puts "Your present Targetfolder is: #{music_dir}/#{folder}".
|
99
|
-
puts 'You can choose another one directly in the configfile.'
|
100
|
-
puts 'Checking now, if your targetdirectory exists...'
|
83
|
+
puts 'SEARCHING FOR TARGETDIR'.colour(:yellow)
|
84
|
+
puts "Your present Targetfolder is: #{music_dir}/#{folder}".colour(:yellow)
|
85
|
+
puts 'You can choose another one directly in the configfile.'.colour(:yellow)
|
86
|
+
puts 'Checking now, if your targetdirectory exists...'.colour(:yellow)
|
101
87
|
# @param [String] music_dir Path to the music directory
|
102
88
|
# @param [String] folder Path to the targetfolder
|
103
89
|
Checker.check_dir(music_dir, folder)
|
104
90
|
|
105
91
|
# @note Using FileUtils to enter the generated directory
|
106
|
-
puts 'SWITCHING TO TARGETDIR'.
|
92
|
+
puts 'SWITCHING TO TARGETDIR'.colour(:yellow)
|
107
93
|
# @param [String] music_dir Path to the music directory
|
108
94
|
# @param [String] folder Path to the targetfolder
|
109
95
|
FileUtils.cd("#{music_dir}/#{folder}") do
|
110
|
-
puts "Now we are switched to directory #{Dir.pwd}".
|
111
|
-
puts 'DOWNLOADING YOUR VIDEO'
|
96
|
+
puts "Now we are switched to directory #{Dir.pwd}".colour(:yellow)
|
97
|
+
puts 'DOWNLOADING YOUR VIDEO'.colour(:yellow)
|
112
98
|
|
113
99
|
# @param [String] url Is the given URL to the Youtube file
|
114
100
|
filename, filenameold = Downloader.get(url)
|
@@ -123,8 +109,8 @@ class YoutubeDlhelper
|
|
123
109
|
# @param [String] filenamenew The new produced filename
|
124
110
|
Checker.cleanup(filenamenew, filenameold)
|
125
111
|
|
126
|
-
puts "Now you can find your file in #{music_dir}/#{folder}/#{filenamenew}.#{extension}".
|
127
|
-
puts "Thank you for using #{my_name} #{
|
112
|
+
puts "Now you can find your file in #{music_dir}/#{folder}/#{filenamenew}.#{extension}".colour(:yellow)
|
113
|
+
puts "Thank you for using #{my_name} #{VERSION}".colour(:yellow)
|
128
114
|
|
129
115
|
Notifier.run
|
130
116
|
end
|
@@ -38,11 +38,11 @@ module Checker
|
|
38
38
|
puts 'Checking prefix'.color(:green)
|
39
39
|
puts url
|
40
40
|
if url.include? 'https'
|
41
|
-
puts 'Checking if https URL is valid'.
|
41
|
+
puts 'Checking if https URL is valid'.colour(:green)
|
42
42
|
https_url_valid?(url)
|
43
43
|
return url
|
44
44
|
else
|
45
|
-
puts 'Checking if http URL is valid'.
|
45
|
+
puts 'Checking if http URL is valid'.colour(:green)
|
46
46
|
http_url_valid?(url)
|
47
47
|
return url
|
48
48
|
end
|
@@ -90,7 +90,7 @@ module Checker
|
|
90
90
|
ask 'Whats the name of the group?'
|
91
91
|
|
92
92
|
else
|
93
|
-
puts 'Just the entries "Interpret" or "Group" are allowed'.
|
93
|
+
puts 'Just the entries "Interpret" or "Group" are allowed'.colour(:red)
|
94
94
|
abort('Aborted')
|
95
95
|
end
|
96
96
|
subdir.gsub!(/ /, '_')
|
@@ -104,13 +104,13 @@ module Checker
|
|
104
104
|
def self.check_dir(music_dir, folder)
|
105
105
|
# @note Checking if musicdir exists
|
106
106
|
if Dir.exist?("#{music_dir}/#{folder}")
|
107
|
-
puts 'Found directory. Im using it.'.
|
107
|
+
puts 'Found directory. Im using it.'.colour(:green)
|
108
108
|
else
|
109
|
-
puts 'No directory found. Im creating it.'.
|
109
|
+
puts 'No directory found. Im creating it.'.colour(:green)
|
110
110
|
# @note Creates the new directory in $music_dir/$folder
|
111
111
|
FileUtils.mkdir_p("#{music_dir}/#{folder}")
|
112
112
|
if Dir.exist?("#{music_dir}/#{folder}")
|
113
|
-
puts 'Created new directory...'.
|
113
|
+
puts 'Created new directory...'.colour(:green)
|
114
114
|
else
|
115
115
|
fail('Cant create directory')
|
116
116
|
end
|
@@ -122,11 +122,11 @@ module Checker
|
|
122
122
|
def self.oldconfig_exists?
|
123
123
|
home = Dir.home
|
124
124
|
if File.exist?("#{home}/.youtube_dlhelper/youtube_dlhelper.conf")
|
125
|
-
puts 'Found configuration file and using it...'.
|
125
|
+
puts 'Found configuration file and using it...'.colour(:yellow)
|
126
126
|
else
|
127
127
|
# @raise
|
128
|
-
puts 'Please run rake setup'.
|
129
|
-
fail('Exiting now..').
|
128
|
+
puts 'Please run rake setup'.colour(:red)
|
129
|
+
fail('Exiting now..').colour(:red)
|
130
130
|
end
|
131
131
|
end
|
132
132
|
|
@@ -149,12 +149,13 @@ module Checker
|
|
149
149
|
def self.cleanup(filename, filenameold)
|
150
150
|
puts 'Cleaning up directory'.color(:green)
|
151
151
|
# @note Cleanup the temp files
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
152
|
+
Dir.glob("#{filename}*.mp4").each { |f| File.delete(f) if File.exist?(f) }
|
153
|
+
Dir.glob("#{filename}*.m4a").each { |f| File.delete(f) if File.exist?(f) }
|
154
|
+
Dir.glob("#{filename}*.webm").each { |f| File.delete(f) if File.exist?(f) }
|
155
|
+
Dir.glob("#{filenameold}*.mp4").each { |f| File.delete(f) if File.exist?(f) }
|
156
|
+
Dir.glob("#{filenameold}*.m4a").each { |f| File.delete(f) if File.exist?(f) }
|
157
|
+
Dir.glob("#{filenameold}*.webm").each { |f| File.delete(f) if File.exist?(f) }
|
158
|
+
|
158
159
|
puts 'Finished cleaning up'.color(:green)
|
159
160
|
end
|
160
161
|
end
|
@@ -23,19 +23,29 @@
|
|
23
23
|
|
24
24
|
|
25
25
|
# Dependencies
|
26
|
-
require '
|
26
|
+
require 'youtube-dl.rb'
|
27
27
|
require 'rainbow/ext/string'
|
28
28
|
require 'fileutils'
|
29
29
|
|
30
30
|
# Module for all Downloading things
|
31
31
|
module Downloader
|
32
|
-
# Accessing the url with get(url) via
|
32
|
+
# Accessing the url with get(url) via youtube-dl.rb
|
33
33
|
# @param [String] url Is the given URL to the Youtube file
|
34
34
|
def self.get(url)
|
35
|
-
puts 'Downloading file...'.
|
36
|
-
|
37
|
-
|
38
|
-
|
35
|
+
puts 'Downloading file...'.colour(:green)
|
36
|
+
# Thanks for the gist https://gist.github.com/sapslaj/edb51218357fa33b6c4c
|
37
|
+
video = YoutubeDL.download(url)
|
38
|
+
video.filename # => "Adele - Hello-YQHsXMglC9A.f137.mp4"
|
39
|
+
|
40
|
+
video_with_title = YoutubeDL.download(url, extract_audio: true, audio_format: 'best', audio_quality: 0, output: '%(title)s.%(ext)s')
|
41
|
+
video_with_title.filename # => "Adele - Hello.mp4"
|
42
|
+
|
43
|
+
title = YoutubeDL::Runner.new(url, get_title: true).run
|
44
|
+
title # => "Adele - Hello"
|
45
|
+
puts 'Downloading done...'.colour(:green)
|
46
|
+
filename = video_with_title.filename
|
47
|
+
|
48
|
+
rename(filename)
|
39
49
|
end
|
40
50
|
|
41
51
|
# rubocop:disable Metrics/AbcSize
|
@@ -44,12 +54,9 @@ module Downloader
|
|
44
54
|
# Method for renaming the orig file with blanks to underscores
|
45
55
|
# @param [String] url Is the given URL to the Youtube file
|
46
56
|
# @return [String] filenamenew The fixed filename with underscores
|
47
|
-
def self.rename(
|
48
|
-
|
49
|
-
|
50
|
-
extn = File.extname file.first.to_s # .mp4
|
51
|
-
# Culture Beat Mr. Vain
|
52
|
-
filename = File.basename file.first.to_s, extn
|
57
|
+
def self.rename(filenameorig)
|
58
|
+
extn = File.extname filenameorig # .mp4
|
59
|
+
filename = File.basename filenameorig, extn
|
53
60
|
ext = file_exist_ogg_m4a(filename)
|
54
61
|
# @note Replacing blanks with underscrores and delete non standard chars in
|
55
62
|
# filename
|
@@ -58,13 +65,13 @@ module Downloader
|
|
58
65
|
filenamenew = filenamenew0.split(//).keep_if do |chr|
|
59
66
|
chr =~ pattern
|
60
67
|
end.join
|
61
|
-
puts 'Renaming the downloaded file'.
|
68
|
+
puts 'Renaming the downloaded file'.colour(:green)
|
62
69
|
FileUtils.mv("#{filename}.#{ext}", "#{filenamenew}.#{ext}")
|
63
70
|
[filenamenew, filename]
|
64
71
|
end
|
65
72
|
|
66
73
|
# It checks what old file are available
|
67
|
-
# @param [String]
|
74
|
+
# @param [String] title
|
68
75
|
# @return ext
|
69
76
|
def self.file_exist_ogg_m4a(filename)
|
70
77
|
if File.exist?("#{filename}.ogg")
|
@@ -24,6 +24,7 @@
|
|
24
24
|
|
25
25
|
# Dependencies
|
26
26
|
require 'streamio-ffmpeg'
|
27
|
+
require 'rainbow/ext/string'
|
27
28
|
|
28
29
|
# Module for all ripping methods
|
29
30
|
module Ripper
|
@@ -35,19 +36,19 @@ module Ripper
|
|
35
36
|
# @param [String] ffmpeg_binary Path to the ffmpeg binary
|
36
37
|
def self.rip_prepare(filename, ogg_file_accept, ffmpeg_binary)
|
37
38
|
# @note Checks if a *.m4a file is present. Then it routes to Ripper.rip
|
38
|
-
puts 'Checking if transcoding is needed. Depends on ogg_file_accept.'
|
39
|
+
puts 'Checking if transcoding is needed. Depends on ogg_file_accept.'.colour(:yellow)
|
39
40
|
if File.exist?("#{filename}.m4a")
|
40
|
-
puts 'TRANSCODING TO MP3'
|
41
|
+
puts 'TRANSCODING TO MP3'.colour(:yellow)
|
41
42
|
ext = 'm4a'
|
42
43
|
rip(filename, ext, ogg_file_accept, ffmpeg_binary)
|
43
44
|
elsif File.exist?("#{filename}.ogg") && ogg_file_accept == 'false'
|
44
|
-
puts 'TRANSCODING TO MP3'
|
45
|
+
puts 'TRANSCODING TO MP3'.colour(:yellow)
|
45
46
|
ext = 'ogg'
|
46
47
|
rip(filename, ext, ogg_file_accept, ffmpeg_binary)
|
47
48
|
elsif File.exist?("#{filename}.ogg")
|
48
|
-
puts 'Already a ogg file. No transcoding needed'
|
49
|
+
puts 'Already a ogg file. No transcoding needed'.colour(:green)
|
49
50
|
else
|
50
|
-
puts 'No transcoding needed'
|
51
|
+
puts 'No transcoding needed'.colour(:green)
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
@@ -66,13 +67,13 @@ module Ripper
|
|
66
67
|
FFMPEG.ffmpeg_binary = ffmpeg_binary
|
67
68
|
filenamein = "#{filename}.#{ext}"
|
68
69
|
audio = FFMPEG::Movie.new(filenamein)
|
69
|
-
puts 'Initializing finished'
|
70
|
+
puts 'Initializing finished'.colour(:green)
|
70
71
|
# @note Checking if valid
|
71
|
-
puts 'Checking if the movie is valid.'
|
72
|
+
puts 'Checking if the movie is valid.'.colour(:yellow)
|
72
73
|
audio.valid?
|
73
|
-
puts 'Validated'
|
74
|
+
puts 'Validated'.colour(:green)
|
74
75
|
ext = convert(ogg_file_accept, ffmpeg_binary, filenamein, filename)
|
75
|
-
puts 'Transcoded'
|
76
|
+
puts 'Transcoded'.colour(:green)
|
76
77
|
[filename, ext]
|
77
78
|
end
|
78
79
|
|
@@ -90,11 +91,11 @@ module Ripper
|
|
90
91
|
if ogg_file_accept == 'true'
|
91
92
|
system("#{ffmpeg_binary} -i #{filenamein} -acodec vorbis -vn -ac 2 -aq 60 -strict -2 #{filename}.ogg")
|
92
93
|
ext = 'ogg'
|
93
|
-
puts ext
|
94
|
+
#puts ext
|
94
95
|
else
|
95
96
|
system("#{ffmpeg_binary} -i #{filenamein} -acodec libmp3lame -ac 2 -ab 192k #{filename}.mp3")
|
96
97
|
ext = 'mp3'
|
97
|
-
puts ext
|
98
|
+
#puts ext
|
98
99
|
end
|
99
100
|
return ext
|
100
101
|
end
|
data/test/lib_spec.rb
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require File.join(File.dirname(__FILE__), '..', '/test/spec_helper')
|
3
|
+
|
4
|
+
# rubocop:disable Metrics/LineLength
|
5
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/version')
|
6
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/checker')
|
7
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/downloader')
|
8
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/import_config')
|
9
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/ripper')
|
10
|
+
require File.join(File.dirname(__FILE__), '..', '/lib/youtube_dlhelper/notifier')
|
11
|
+
|
12
|
+
tempfile = 'Crystallize_-_Lindsey_Stirling_Dubstep_Violin_Original_Song'
|
13
|
+
tempfile1 = 'Crystallize - Lindsey Stirling (Dubstep Violin Original Song)'
|
14
|
+
ffmpeg_binary = '/usr/local/bin/ffmpeg'
|
15
|
+
|
16
|
+
describe 'Checker' do
|
17
|
+
describe '.external_url_is_valid?' do
|
18
|
+
|
19
|
+
context 'using http url' do
|
20
|
+
it 'get an url, test it and give back when valid' do
|
21
|
+
# rubocop:disable Metrics/LineLength
|
22
|
+
url = Checker.external_url_is_valid?('http://www.youtube.com/watch?v=aHjpOzsQ9YI')
|
23
|
+
expect(url).equal? 'true'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'using https url' do
|
28
|
+
it 'get the url, test and give back when valid' do
|
29
|
+
url = Checker.external_url_is_valid?('https://www.youtube.com/watch?v=aHjpOzsQ9YI')
|
30
|
+
expect(url).equal? 'true'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '.which_decoder?' do
|
36
|
+
it 'checks what decoder can be used' do
|
37
|
+
ffmpeg_binary = Checker.which_decoder?
|
38
|
+
expect(ffmpeg_binary).equal? '/usr/local/bin/ffmpeg' || '/usr/bin/avconv'
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# describe 'Import' do
|
44
|
+
# describe '.import_config' do
|
45
|
+
# it 'reads in some variables and fill them localy' do
|
46
|
+
# music_dir, ogg_file_accept = Import.import_config
|
47
|
+
# expect(music_dir).equal? 'Musik'
|
48
|
+
# expect(ogg_file_accept).equal? 'true'
|
49
|
+
# end
|
50
|
+
# end
|
51
|
+
# end
|
52
|
+
|
53
|
+
describe 'Downoader' do
|
54
|
+
describe '.get' do
|
55
|
+
it 'downloads a file from youtube' do
|
56
|
+
Downloader.get('http://www.youtube.com/watch?v=aHjpOzsQ9YI')
|
57
|
+
expect(File.exist?("#{tempfile}.m4a")).equal? 'true'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe 'Ripper' do
|
63
|
+
describe '.rip_prepare' do
|
64
|
+
context 'With ogg_file_accept' do
|
65
|
+
ogg_file_accept = 'true'
|
66
|
+
it 'should not convert a file from youtube' do
|
67
|
+
Ripper.rip_prepare(tempfile, ogg_file_accept, ffmpeg_binary)
|
68
|
+
expect(File.exist?("#{tempfile}.ogg")).equal? 'true'
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'Without ogg_file_accept' do
|
73
|
+
ogg_file_accept = 'false'
|
74
|
+
it 'should convert a file from youtube' do
|
75
|
+
Ripper.rip_prepare(tempfile, ogg_file_accept, ffmpeg_binary)
|
76
|
+
expect(File.exist?("#{tempfile}.mp3")).equal? 'true'
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe 'Checker' do
|
83
|
+
describe '.cleanup' do
|
84
|
+
it 'Cleansup all downloaded and generated files' do
|
85
|
+
Checker.cleanup(tempfile, tempfile1)
|
86
|
+
expect(File.exist?("#{tempfile}.mp4")).equal? 'false'
|
87
|
+
expect(File.exist?("#{tempfile}.m4a")).equal? 'false'
|
88
|
+
File.delete("#{tempfile1}.mp4") if File.exist?("#{tempfile1}.mp4")
|
89
|
+
File.delete("#{tempfile}.mp3") if File.exist?("#{tempfile}.mp3")
|
90
|
+
File.delete("#{tempfile}.ogg") if File.exist?("#{tempfile}.ogg")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe 'Notifier' do
|
96
|
+
describe '.run' do
|
97
|
+
it 'Gives a Notify' do
|
98
|
+
Notifier.run
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
data/test/spec_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'test'))
|
2
|
+
require 'coveralls'
|
3
|
+
require 'simplecov'
|
4
|
+
Coveralls.wear!
|
5
|
+
|
6
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
7
|
+
SimpleCov.start do
|
8
|
+
add_filter '.yardoc'
|
9
|
+
add_filter 'config'
|
10
|
+
add_filter 'doc'
|
11
|
+
add_filter 'pkg'
|
12
|
+
add_filter 'vendor'
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'lib_spec'
|
metadata
CHANGED
@@ -1,83 +1,98 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: youtube_dlhelper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sascha Manns
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDhTCCAm2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMRIwEAYDVQQDDAlzYW1h
|
14
|
+
bm5zbWwxGTAXBgoJkiaJk/IsZAEZFglkaXJlY3Rib3gxEzARBgoJkiaJk/IsZAEZ
|
15
|
+
FgNjb20wHhcNMTUwOTE1MTAwOTQwWhcNMTYwOTE0MTAwOTQwWjBEMRIwEAYDVQQD
|
16
|
+
DAlzYW1hbm5zbWwxGTAXBgoJkiaJk/IsZAEZFglkaXJlY3Rib3gxEzARBgoJkiaJ
|
17
|
+
k/IsZAEZFgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChvBUV
|
18
|
+
qkj1as15E6mSt42Vf+bwwn6y5IINU8WyMByK85WPENyWpOTOsrwTSpai3b/fO6JE
|
19
|
+
RzGyC/IDQXy5IcnWAXIRG/lRy4MOHeReShVH0TWP9e63jhsjffb3oiE9WyVMyp6j
|
20
|
+
7mBDsYQlpd9dzIxBjhOuezqHTats1Zx3YmgTKqcxIGagw+91taJE3eXQRh9OTply
|
21
|
+
6nFe4EeEDZIDkpGxgWPdPXhdEOh70z9if0Li0iuwzKD7nI2YDrQPZ6yzohwJSCxJ
|
22
|
+
G1cvwyew70s9xneJ63C+EoBDdSzjYOi9ov08sLYm6XphYmXkansZX9XLvlkm7oNU
|
23
|
+
RauozHFRkVgou2yPAgMBAAGjgYEwfzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAd
|
24
|
+
BgNVHQ4EFgQU2Z0THCX7uI/mtn0lN5RlIUhQHkMwIgYDVR0RBBswGYEXc2FtYW5u
|
25
|
+
c21sQGRpcmVjdGJveC5jb20wIgYDVR0SBBswGYEXc2FtYW5uc21sQGRpcmVjdGJv
|
26
|
+
eC5jb20wDQYJKoZIhvcNAQEFBQADggEBABcwHO1C0EOos6v4jYYqcxMqryJnGH9O
|
27
|
+
ZOGyesU4BsVuVfKznMZ2hMnb5UW1JgxcZgTdhh4LuZ5NuDUd4DJyUGVKKVIxPFzs
|
28
|
+
T1YreFIygjNZDlF338gY4R8OgzgM7j/k5mxg1gL0/4zgHVNRFsb4lB0xN+b/9iY4
|
29
|
+
OQ2nBbEye41AtFzskC/Qdsj5uvG/g2wy8fMDZ6+VI4nNb/bHJahShz2kqRap461j
|
30
|
+
cEuJ8AWKUjdkdt1Nba7qmareRtc2+pEiITV5ANv24b8vsmq9/8nbxQckdO7+NQRP
|
31
|
+
pTQZhJ4mX28Qe1F9IE4F4UDeo8gQSPHJOttZA33sRLC19sH67dLq4pM=
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2015-12-11 00:00:00.000000000 Z
|
12
34
|
dependencies:
|
13
35
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
36
|
+
name: bundler
|
15
37
|
requirement: !ruby/object:Gem::Requirement
|
16
38
|
requirements:
|
17
39
|
- - "~>"
|
18
40
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: 1.7.3
|
41
|
+
version: '1.10'
|
23
42
|
type: :runtime
|
24
43
|
prerelease: false
|
25
44
|
version_requirements: !ruby/object:Gem::Requirement
|
26
45
|
requirements:
|
27
46
|
- - "~>"
|
28
47
|
- !ruby/object:Gem::Version
|
29
|
-
version: '1.
|
30
|
-
- - ">="
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 1.7.3
|
48
|
+
version: '1.10'
|
33
49
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
50
|
+
name: setup
|
35
51
|
requirement: !ruby/object:Gem::Requirement
|
36
52
|
requirements:
|
37
53
|
- - "~>"
|
38
54
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
40
|
-
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 1.0.6
|
55
|
+
version: '5.2'
|
43
56
|
type: :runtime
|
44
57
|
prerelease: false
|
45
58
|
version_requirements: !ruby/object:Gem::Requirement
|
46
59
|
requirements:
|
47
60
|
- - "~>"
|
48
61
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
50
|
-
- - ">="
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: 1.0.6
|
62
|
+
version: '5.2'
|
53
63
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
64
|
+
name: highline
|
55
65
|
requirement: !ruby/object:Gem::Requirement
|
56
66
|
requirements:
|
57
67
|
- - "~>"
|
58
68
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 1.1.1
|
69
|
+
version: 1.7.8
|
63
70
|
type: :runtime
|
64
71
|
prerelease: false
|
65
72
|
version_requirements: !ruby/object:Gem::Requirement
|
66
73
|
requirements:
|
67
74
|
- - "~>"
|
68
75
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
70
|
-
|
76
|
+
version: 1.7.8
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: parseconfig
|
79
|
+
requirement: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
71
82
|
- !ruby/object:Gem::Version
|
72
|
-
version: 1.
|
83
|
+
version: 1.0.6
|
84
|
+
type: :runtime
|
85
|
+
prerelease: false
|
86
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 1.0.6
|
73
91
|
- !ruby/object:Gem::Dependency
|
74
92
|
name: streamio-ffmpeg
|
75
93
|
requirement: !ruby/object:Gem::Requirement
|
76
94
|
requirements:
|
77
95
|
- - "~>"
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
version: '1.0'
|
80
|
-
- - ">="
|
81
96
|
- !ruby/object:Gem::Version
|
82
97
|
version: 1.0.0
|
83
98
|
type: :runtime
|
@@ -85,9 +100,6 @@ dependencies:
|
|
85
100
|
version_requirements: !ruby/object:Gem::Requirement
|
86
101
|
requirements:
|
87
102
|
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.0'
|
90
|
-
- - ">="
|
91
103
|
- !ruby/object:Gem::Version
|
92
104
|
version: 1.0.0
|
93
105
|
- !ruby/object:Gem::Dependency
|
@@ -95,9 +107,6 @@ dependencies:
|
|
95
107
|
requirement: !ruby/object:Gem::Requirement
|
96
108
|
requirements:
|
97
109
|
- - "~>"
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
version: '2.0'
|
100
|
-
- - ">="
|
101
110
|
- !ruby/object:Gem::Version
|
102
111
|
version: 2.0.0
|
103
112
|
type: :runtime
|
@@ -105,9 +114,6 @@ dependencies:
|
|
105
114
|
version_requirements: !ruby/object:Gem::Requirement
|
106
115
|
requirements:
|
107
116
|
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '2.0'
|
110
|
-
- - ">="
|
111
117
|
- !ruby/object:Gem::Version
|
112
118
|
version: 2.0.0
|
113
119
|
- !ruby/object:Gem::Dependency
|
@@ -116,70 +122,49 @@ dependencies:
|
|
116
122
|
requirements:
|
117
123
|
- - "~>"
|
118
124
|
- !ruby/object:Gem::Version
|
119
|
-
version:
|
120
|
-
- - ">="
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 2.3.8
|
125
|
+
version: 2.4.0
|
123
126
|
type: :runtime
|
124
127
|
prerelease: false
|
125
128
|
version_requirements: !ruby/object:Gem::Requirement
|
126
129
|
requirements:
|
127
130
|
- - "~>"
|
128
131
|
- !ruby/object:Gem::Version
|
129
|
-
version:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 2.3.8
|
132
|
+
version: 2.4.0
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
|
-
name:
|
134
|
+
name: notifier
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
140
|
-
- - ">="
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 5.2.0
|
139
|
+
version: 0.5.1
|
143
140
|
type: :runtime
|
144
141
|
prerelease: false
|
145
142
|
version_requirements: !ruby/object:Gem::Requirement
|
146
143
|
requirements:
|
147
144
|
- - "~>"
|
148
145
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 5.2.0
|
146
|
+
version: 0.5.1
|
153
147
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
148
|
+
name: youtube-dl.rb
|
155
149
|
requirement: !ruby/object:Gem::Requirement
|
156
150
|
requirements:
|
157
151
|
- - "~>"
|
158
152
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
160
|
-
- - ">="
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
version: 0.5.1
|
153
|
+
version: 0.2.5.2015.12.10.1
|
163
154
|
type: :runtime
|
164
155
|
prerelease: false
|
165
156
|
version_requirements: !ruby/object:Gem::Requirement
|
166
157
|
requirements:
|
167
158
|
- - "~>"
|
168
159
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: 0.5.1
|
160
|
+
version: 0.2.5.2015.12.10.1
|
173
161
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
162
|
+
name: hoe-highline
|
175
163
|
requirement: !ruby/object:Gem::Requirement
|
176
164
|
requirements:
|
177
165
|
- - "~>"
|
178
166
|
- !ruby/object:Gem::Version
|
179
167
|
version: '0.2'
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: 0.2.0
|
183
168
|
type: :development
|
184
169
|
prerelease: false
|
185
170
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -187,99 +172,69 @@ dependencies:
|
|
187
172
|
- - "~>"
|
188
173
|
- !ruby/object:Gem::Version
|
189
174
|
version: '0.2'
|
190
|
-
- - ">="
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: 0.2.0
|
193
175
|
- !ruby/object:Gem::Dependency
|
194
|
-
name:
|
176
|
+
name: hoe-yard
|
195
177
|
requirement: !ruby/object:Gem::Requirement
|
196
178
|
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '10.4'
|
200
179
|
- - ">="
|
201
180
|
- !ruby/object:Gem::Version
|
202
|
-
version:
|
181
|
+
version: 0.1.2
|
203
182
|
type: :development
|
204
183
|
prerelease: false
|
205
184
|
version_requirements: !ruby/object:Gem::Requirement
|
206
185
|
requirements:
|
207
|
-
- - "~>"
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '10.4'
|
210
186
|
- - ">="
|
211
187
|
- !ruby/object:Gem::Version
|
212
|
-
version:
|
188
|
+
version: 0.1.2
|
213
189
|
- !ruby/object:Gem::Dependency
|
214
|
-
name:
|
190
|
+
name: coveralls
|
215
191
|
requirement: !ruby/object:Gem::Requirement
|
216
192
|
requirements:
|
217
193
|
- - "~>"
|
218
194
|
- !ruby/object:Gem::Version
|
219
|
-
version: '
|
220
|
-
- - ">="
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 4.2.0
|
195
|
+
version: '0.8'
|
223
196
|
type: :development
|
224
197
|
prerelease: false
|
225
198
|
version_requirements: !ruby/object:Gem::Requirement
|
226
199
|
requirements:
|
227
200
|
- - "~>"
|
228
201
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
230
|
-
- - ">="
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
version: 4.2.0
|
202
|
+
version: '0.8'
|
233
203
|
- !ruby/object:Gem::Dependency
|
234
|
-
name:
|
204
|
+
name: gem-release
|
235
205
|
requirement: !ruby/object:Gem::Requirement
|
236
206
|
requirements:
|
237
207
|
- - "~>"
|
238
208
|
- !ruby/object:Gem::Version
|
239
|
-
version: '
|
240
|
-
- - ">="
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: 1.9.6
|
209
|
+
version: '0.7'
|
243
210
|
type: :development
|
244
211
|
prerelease: false
|
245
212
|
version_requirements: !ruby/object:Gem::Requirement
|
246
213
|
requirements:
|
247
214
|
- - "~>"
|
248
215
|
- !ruby/object:Gem::Version
|
249
|
-
version: '
|
250
|
-
- - ">="
|
251
|
-
- !ruby/object:Gem::Version
|
252
|
-
version: 1.9.6
|
216
|
+
version: '0.7'
|
253
217
|
- !ruby/object:Gem::Dependency
|
254
|
-
name:
|
218
|
+
name: hoe-bundler
|
255
219
|
requirement: !ruby/object:Gem::Requirement
|
256
220
|
requirements:
|
257
221
|
- - "~>"
|
258
222
|
- !ruby/object:Gem::Version
|
259
|
-
version: '
|
260
|
-
- - ">="
|
261
|
-
- !ruby/object:Gem::Version
|
262
|
-
version: 0.8.7.6
|
223
|
+
version: '1.2'
|
263
224
|
type: :development
|
264
225
|
prerelease: false
|
265
226
|
version_requirements: !ruby/object:Gem::Requirement
|
266
227
|
requirements:
|
267
228
|
- - "~>"
|
268
229
|
- !ruby/object:Gem::Version
|
269
|
-
version: '
|
270
|
-
- - ">="
|
271
|
-
- !ruby/object:Gem::Version
|
272
|
-
version: 0.8.7.6
|
230
|
+
version: '1.2'
|
273
231
|
- !ruby/object:Gem::Dependency
|
274
|
-
name:
|
232
|
+
name: hoe-deveiate
|
275
233
|
requirement: !ruby/object:Gem::Requirement
|
276
234
|
requirements:
|
277
235
|
- - "~>"
|
278
236
|
- !ruby/object:Gem::Version
|
279
237
|
version: '0.7'
|
280
|
-
- - ">="
|
281
|
-
- !ruby/object:Gem::Version
|
282
|
-
version: 0.7.4
|
283
238
|
type: :development
|
284
239
|
prerelease: false
|
285
240
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -287,236 +242,376 @@ dependencies:
|
|
287
242
|
- - "~>"
|
288
243
|
- !ruby/object:Gem::Version
|
289
244
|
version: '0.7'
|
290
|
-
- - ">="
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: 0.7.4
|
293
245
|
- !ruby/object:Gem::Dependency
|
294
|
-
name:
|
246
|
+
name: hoe-doofus
|
295
247
|
requirement: !ruby/object:Gem::Requirement
|
296
248
|
requirements:
|
297
249
|
- - "~>"
|
298
250
|
- !ruby/object:Gem::Version
|
299
|
-
version: '0
|
300
|
-
- - ">="
|
301
|
-
- !ruby/object:Gem::Version
|
302
|
-
version: 0.8.1
|
251
|
+
version: '1.0'
|
303
252
|
type: :development
|
304
253
|
prerelease: false
|
305
254
|
version_requirements: !ruby/object:Gem::Requirement
|
306
255
|
requirements:
|
307
256
|
- - "~>"
|
308
257
|
- !ruby/object:Gem::Version
|
309
|
-
version: '0
|
310
|
-
|
258
|
+
version: '1.0'
|
259
|
+
- !ruby/object:Gem::Dependency
|
260
|
+
name: hoe-gemspec
|
261
|
+
requirement: !ruby/object:Gem::Requirement
|
262
|
+
requirements:
|
263
|
+
- - "~>"
|
311
264
|
- !ruby/object:Gem::Version
|
312
|
-
version: 0
|
265
|
+
version: '1.0'
|
266
|
+
type: :development
|
267
|
+
prerelease: false
|
268
|
+
version_requirements: !ruby/object:Gem::Requirement
|
269
|
+
requirements:
|
270
|
+
- - "~>"
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: '1.0'
|
313
273
|
- !ruby/object:Gem::Dependency
|
314
|
-
name:
|
274
|
+
name: hoe-git
|
315
275
|
requirement: !ruby/object:Gem::Requirement
|
316
276
|
requirements:
|
317
277
|
- - "~>"
|
318
278
|
- !ruby/object:Gem::Version
|
319
|
-
version: '
|
320
|
-
|
279
|
+
version: '1.6'
|
280
|
+
type: :development
|
281
|
+
prerelease: false
|
282
|
+
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
requirements:
|
284
|
+
- - "~>"
|
285
|
+
- !ruby/object:Gem::Version
|
286
|
+
version: '1.6'
|
287
|
+
- !ruby/object:Gem::Dependency
|
288
|
+
name: hoe-manns
|
289
|
+
requirement: !ruby/object:Gem::Requirement
|
290
|
+
requirements:
|
291
|
+
- - "~>"
|
321
292
|
- !ruby/object:Gem::Version
|
322
|
-
version:
|
293
|
+
version: 1.4.3
|
323
294
|
type: :development
|
324
295
|
prerelease: false
|
325
296
|
version_requirements: !ruby/object:Gem::Requirement
|
326
297
|
requirements:
|
327
298
|
- - "~>"
|
328
299
|
- !ruby/object:Gem::Version
|
329
|
-
version:
|
330
|
-
|
300
|
+
version: 1.4.3
|
301
|
+
- !ruby/object:Gem::Dependency
|
302
|
+
name: hoe-packaging
|
303
|
+
requirement: !ruby/object:Gem::Requirement
|
304
|
+
requirements:
|
305
|
+
- - "~>"
|
331
306
|
- !ruby/object:Gem::Version
|
332
|
-
version:
|
307
|
+
version: 1.1.1
|
308
|
+
type: :development
|
309
|
+
prerelease: false
|
310
|
+
version_requirements: !ruby/object:Gem::Requirement
|
311
|
+
requirements:
|
312
|
+
- - "~>"
|
313
|
+
- !ruby/object:Gem::Version
|
314
|
+
version: 1.1.1
|
333
315
|
- !ruby/object:Gem::Dependency
|
334
|
-
name:
|
316
|
+
name: hoe-reek
|
335
317
|
requirement: !ruby/object:Gem::Requirement
|
336
318
|
requirements:
|
337
319
|
- - "~>"
|
338
320
|
- !ruby/object:Gem::Version
|
339
|
-
version: '
|
340
|
-
|
321
|
+
version: '1.1'
|
322
|
+
type: :development
|
323
|
+
prerelease: false
|
324
|
+
version_requirements: !ruby/object:Gem::Requirement
|
325
|
+
requirements:
|
326
|
+
- - "~>"
|
327
|
+
- !ruby/object:Gem::Version
|
328
|
+
version: '1.1'
|
329
|
+
- !ruby/object:Gem::Dependency
|
330
|
+
name: hoe-rubocop
|
331
|
+
requirement: !ruby/object:Gem::Requirement
|
332
|
+
requirements:
|
333
|
+
- - "~>"
|
341
334
|
- !ruby/object:Gem::Version
|
342
|
-
version:
|
335
|
+
version: 1.0.3
|
343
336
|
type: :development
|
344
337
|
prerelease: false
|
345
338
|
version_requirements: !ruby/object:Gem::Requirement
|
346
339
|
requirements:
|
347
340
|
- - "~>"
|
348
341
|
- !ruby/object:Gem::Version
|
349
|
-
version:
|
350
|
-
|
342
|
+
version: 1.0.3
|
343
|
+
- !ruby/object:Gem::Dependency
|
344
|
+
name: hoe-rubygems
|
345
|
+
requirement: !ruby/object:Gem::Requirement
|
346
|
+
requirements:
|
347
|
+
- - "~>"
|
348
|
+
- !ruby/object:Gem::Version
|
349
|
+
version: '1.0'
|
350
|
+
type: :development
|
351
|
+
prerelease: false
|
352
|
+
version_requirements: !ruby/object:Gem::Requirement
|
353
|
+
requirements:
|
354
|
+
- - "~>"
|
351
355
|
- !ruby/object:Gem::Version
|
352
|
-
version:
|
356
|
+
version: '1.0'
|
353
357
|
- !ruby/object:Gem::Dependency
|
354
|
-
name:
|
358
|
+
name: hoe-seattlerb
|
355
359
|
requirement: !ruby/object:Gem::Requirement
|
356
360
|
requirements:
|
357
361
|
- - "~>"
|
358
362
|
- !ruby/object:Gem::Version
|
359
|
-
version: '
|
360
|
-
|
363
|
+
version: '1.3'
|
364
|
+
type: :development
|
365
|
+
prerelease: false
|
366
|
+
version_requirements: !ruby/object:Gem::Requirement
|
367
|
+
requirements:
|
368
|
+
- - "~>"
|
361
369
|
- !ruby/object:Gem::Version
|
362
|
-
version:
|
370
|
+
version: '1.3'
|
371
|
+
- !ruby/object:Gem::Dependency
|
372
|
+
name: hoe-travis
|
373
|
+
requirement: !ruby/object:Gem::Requirement
|
374
|
+
requirements:
|
375
|
+
- - "~>"
|
376
|
+
- !ruby/object:Gem::Version
|
377
|
+
version: '1.2'
|
363
378
|
type: :development
|
364
379
|
prerelease: false
|
365
380
|
version_requirements: !ruby/object:Gem::Requirement
|
366
381
|
requirements:
|
367
382
|
- - "~>"
|
368
383
|
- !ruby/object:Gem::Version
|
369
|
-
version: '
|
370
|
-
|
384
|
+
version: '1.2'
|
385
|
+
- !ruby/object:Gem::Dependency
|
386
|
+
name: hoe-version
|
387
|
+
requirement: !ruby/object:Gem::Requirement
|
388
|
+
requirements:
|
389
|
+
- - "~>"
|
371
390
|
- !ruby/object:Gem::Version
|
372
|
-
version:
|
391
|
+
version: '1.2'
|
392
|
+
type: :development
|
393
|
+
prerelease: false
|
394
|
+
version_requirements: !ruby/object:Gem::Requirement
|
395
|
+
requirements:
|
396
|
+
- - "~>"
|
397
|
+
- !ruby/object:Gem::Version
|
398
|
+
version: '1.2'
|
373
399
|
- !ruby/object:Gem::Dependency
|
374
|
-
name:
|
400
|
+
name: indexer
|
375
401
|
requirement: !ruby/object:Gem::Requirement
|
376
402
|
requirements:
|
377
403
|
- - "~>"
|
378
404
|
- !ruby/object:Gem::Version
|
379
|
-
version: '
|
380
|
-
|
405
|
+
version: '0.3'
|
406
|
+
type: :development
|
407
|
+
prerelease: false
|
408
|
+
version_requirements: !ruby/object:Gem::Requirement
|
409
|
+
requirements:
|
410
|
+
- - "~>"
|
411
|
+
- !ruby/object:Gem::Version
|
412
|
+
version: '0.3'
|
413
|
+
- !ruby/object:Gem::Dependency
|
414
|
+
name: minitest
|
415
|
+
requirement: !ruby/object:Gem::Requirement
|
416
|
+
requirements:
|
417
|
+
- - "~>"
|
381
418
|
- !ruby/object:Gem::Version
|
382
|
-
version:
|
419
|
+
version: 5.8.1
|
383
420
|
type: :development
|
384
421
|
prerelease: false
|
385
422
|
version_requirements: !ruby/object:Gem::Requirement
|
386
423
|
requirements:
|
387
424
|
- - "~>"
|
388
425
|
- !ruby/object:Gem::Version
|
389
|
-
version:
|
390
|
-
|
426
|
+
version: 5.8.1
|
427
|
+
- !ruby/object:Gem::Dependency
|
428
|
+
name: rake
|
429
|
+
requirement: !ruby/object:Gem::Requirement
|
430
|
+
requirements:
|
431
|
+
- - "~>"
|
391
432
|
- !ruby/object:Gem::Version
|
392
|
-
version:
|
433
|
+
version: '10.0'
|
434
|
+
type: :development
|
435
|
+
prerelease: false
|
436
|
+
version_requirements: !ruby/object:Gem::Requirement
|
437
|
+
requirements:
|
438
|
+
- - "~>"
|
439
|
+
- !ruby/object:Gem::Version
|
440
|
+
version: '10.0'
|
393
441
|
- !ruby/object:Gem::Dependency
|
394
|
-
name:
|
442
|
+
name: reek
|
395
443
|
requirement: !ruby/object:Gem::Requirement
|
396
444
|
requirements:
|
397
445
|
- - "~>"
|
398
446
|
- !ruby/object:Gem::Version
|
399
|
-
version: '
|
400
|
-
|
447
|
+
version: '3.7'
|
448
|
+
type: :development
|
449
|
+
prerelease: false
|
450
|
+
version_requirements: !ruby/object:Gem::Requirement
|
451
|
+
requirements:
|
452
|
+
- - "~>"
|
453
|
+
- !ruby/object:Gem::Version
|
454
|
+
version: '3.7'
|
455
|
+
- !ruby/object:Gem::Dependency
|
456
|
+
name: rspec
|
457
|
+
requirement: !ruby/object:Gem::Requirement
|
458
|
+
requirements:
|
459
|
+
- - "~>"
|
401
460
|
- !ruby/object:Gem::Version
|
402
|
-
version:
|
461
|
+
version: '3.4'
|
403
462
|
type: :development
|
404
463
|
prerelease: false
|
405
464
|
version_requirements: !ruby/object:Gem::Requirement
|
406
465
|
requirements:
|
407
466
|
- - "~>"
|
408
467
|
- !ruby/object:Gem::Version
|
409
|
-
version: '
|
410
|
-
|
468
|
+
version: '3.4'
|
469
|
+
- !ruby/object:Gem::Dependency
|
470
|
+
name: rubocop
|
471
|
+
requirement: !ruby/object:Gem::Requirement
|
472
|
+
requirements:
|
473
|
+
- - "~>"
|
474
|
+
- !ruby/object:Gem::Version
|
475
|
+
version: '0.35'
|
476
|
+
type: :development
|
477
|
+
prerelease: false
|
478
|
+
version_requirements: !ruby/object:Gem::Requirement
|
479
|
+
requirements:
|
480
|
+
- - "~>"
|
411
481
|
- !ruby/object:Gem::Version
|
412
|
-
version:
|
482
|
+
version: '0.35'
|
413
483
|
- !ruby/object:Gem::Dependency
|
414
484
|
name: simplecov
|
415
485
|
requirement: !ruby/object:Gem::Requirement
|
416
486
|
requirements:
|
417
487
|
- - "~>"
|
418
488
|
- !ruby/object:Gem::Version
|
419
|
-
version: '0.
|
420
|
-
- - ">="
|
421
|
-
- !ruby/object:Gem::Version
|
422
|
-
version: 0.10.0
|
489
|
+
version: '0.11'
|
423
490
|
type: :development
|
424
491
|
prerelease: false
|
425
492
|
version_requirements: !ruby/object:Gem::Requirement
|
426
493
|
requirements:
|
427
494
|
- - "~>"
|
428
495
|
- !ruby/object:Gem::Version
|
429
|
-
version: '0.
|
430
|
-
- - ">="
|
431
|
-
- !ruby/object:Gem::Version
|
432
|
-
version: 0.10.0
|
496
|
+
version: '0.11'
|
433
497
|
- !ruby/object:Gem::Dependency
|
434
|
-
name:
|
498
|
+
name: test
|
435
499
|
requirement: !ruby/object:Gem::Requirement
|
436
500
|
requirements:
|
437
501
|
- - "~>"
|
438
502
|
- !ruby/object:Gem::Version
|
439
|
-
version:
|
440
|
-
|
503
|
+
version: 1.0.0
|
504
|
+
type: :development
|
505
|
+
prerelease: false
|
506
|
+
version_requirements: !ruby/object:Gem::Requirement
|
507
|
+
requirements:
|
508
|
+
- - "~>"
|
441
509
|
- !ruby/object:Gem::Version
|
442
|
-
version: 0.
|
510
|
+
version: 1.0.0
|
511
|
+
- !ruby/object:Gem::Dependency
|
512
|
+
name: test-unit
|
513
|
+
requirement: !ruby/object:Gem::Requirement
|
514
|
+
requirements:
|
515
|
+
- - "~>"
|
516
|
+
- !ruby/object:Gem::Version
|
517
|
+
version: 3.1.4
|
443
518
|
type: :development
|
444
519
|
prerelease: false
|
445
520
|
version_requirements: !ruby/object:Gem::Requirement
|
446
521
|
requirements:
|
447
522
|
- - "~>"
|
448
523
|
- !ruby/object:Gem::Version
|
449
|
-
version:
|
450
|
-
|
524
|
+
version: 3.1.4
|
525
|
+
- !ruby/object:Gem::Dependency
|
526
|
+
name: ZenTest
|
527
|
+
requirement: !ruby/object:Gem::Requirement
|
528
|
+
requirements:
|
529
|
+
- - "~>"
|
451
530
|
- !ruby/object:Gem::Version
|
452
|
-
version:
|
531
|
+
version: '4.11'
|
532
|
+
type: :development
|
533
|
+
prerelease: false
|
534
|
+
version_requirements: !ruby/object:Gem::Requirement
|
535
|
+
requirements:
|
536
|
+
- - "~>"
|
537
|
+
- !ruby/object:Gem::Version
|
538
|
+
version: '4.11'
|
453
539
|
- !ruby/object:Gem::Dependency
|
454
|
-
name:
|
540
|
+
name: bundler-audit
|
455
541
|
requirement: !ruby/object:Gem::Requirement
|
456
542
|
requirements:
|
457
543
|
- - "~>"
|
458
544
|
- !ruby/object:Gem::Version
|
459
|
-
version:
|
460
|
-
|
545
|
+
version: 0.4.0
|
546
|
+
type: :development
|
547
|
+
prerelease: false
|
548
|
+
version_requirements: !ruby/object:Gem::Requirement
|
549
|
+
requirements:
|
550
|
+
- - "~>"
|
551
|
+
- !ruby/object:Gem::Version
|
552
|
+
version: 0.4.0
|
553
|
+
- !ruby/object:Gem::Dependency
|
554
|
+
name: manns_shared
|
555
|
+
requirement: !ruby/object:Gem::Requirement
|
556
|
+
requirements:
|
557
|
+
- - "~>"
|
461
558
|
- !ruby/object:Gem::Version
|
462
|
-
version: 1.
|
559
|
+
version: 1.0.0
|
463
560
|
type: :development
|
464
561
|
prerelease: false
|
465
562
|
version_requirements: !ruby/object:Gem::Requirement
|
466
563
|
requirements:
|
467
564
|
- - "~>"
|
468
565
|
- !ruby/object:Gem::Version
|
469
|
-
version:
|
470
|
-
|
566
|
+
version: 1.0.0
|
567
|
+
- !ruby/object:Gem::Dependency
|
568
|
+
name: hoe
|
569
|
+
requirement: !ruby/object:Gem::Requirement
|
570
|
+
requirements:
|
571
|
+
- - "~>"
|
471
572
|
- !ruby/object:Gem::Version
|
472
|
-
version:
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
573
|
+
version: '3.14'
|
574
|
+
type: :development
|
575
|
+
prerelease: false
|
576
|
+
version_requirements: !ruby/object:Gem::Requirement
|
577
|
+
requirements:
|
578
|
+
- - "~>"
|
579
|
+
- !ruby/object:Gem::Version
|
580
|
+
version: '3.14'
|
581
|
+
description: |-
|
582
|
+
The youtube_dlhelper is a short tool for download and manage the downloaded files. You are running the program inside the command line with a Youtube URL. Then it aska for a
|
583
|
+
group name or interpreters name. Now it creates a Subfolder inside your Musicdirectory. Then it makes a MP3 from the downloaded file and moves it to the folder.
|
584
|
+
email:
|
585
|
+
- samannsml@directbox.com
|
586
|
+
executables:
|
587
|
+
- youtube_dlhelper
|
477
588
|
extensions: []
|
478
589
|
extra_rdoc_files:
|
479
|
-
- CHANGELOG.md
|
480
|
-
- CONTRIBUTING.md
|
481
590
|
- CODE_OF_CONDUCT.md
|
482
|
-
-
|
591
|
+
- CONTRIBUTING.md
|
592
|
+
- History.rdoc
|
593
|
+
- LICENSE.rdoc
|
594
|
+
- Manifest.txt
|
595
|
+
- README.rdoc
|
483
596
|
files:
|
484
597
|
- ".coveralls.yml"
|
485
598
|
- ".gemnasium.yml"
|
486
599
|
- ".gemrelease"
|
487
|
-
- ".gitignore"
|
488
|
-
- ".idea/.name"
|
489
|
-
- ".idea/.rakeTasks"
|
490
|
-
- ".idea/dictionaries/sascha.xml"
|
491
|
-
- ".idea/dictionaries/smanns.xml"
|
492
|
-
- ".idea/encodings.xml"
|
493
|
-
- ".idea/inspectionProfiles/Project_Default.xml"
|
494
|
-
- ".idea/inspectionProfiles/profiles_settings.xml"
|
495
|
-
- ".idea/misc.xml"
|
496
|
-
- ".idea/modules.xml"
|
497
|
-
- ".idea/scopes/scope_settings.xml"
|
498
|
-
- ".idea/sonarIssues.xml"
|
499
|
-
- ".idea/vagrant.xml"
|
500
|
-
- ".idea/vcs.xml"
|
501
|
-
- ".idea/workspace.xml"
|
502
|
-
- ".idea/workspace_conflict-20150617-151434.xml"
|
503
|
-
- ".idea/youtube_dlhelper.iml"
|
504
|
-
- ".idea/youtube_dlhelper_conflict-20150617-151434.iml"
|
505
600
|
- ".index"
|
506
601
|
- ".rspec"
|
507
602
|
- ".rubocop.yml"
|
508
603
|
- ".scrutinizer.yml"
|
509
604
|
- ".travis.yml"
|
510
605
|
- ".yardopts"
|
511
|
-
- CHANGELOG.md
|
512
606
|
- CODE_OF_CONDUCT.md
|
513
607
|
- CONTRIBUTING.md
|
514
608
|
- Gemfile
|
515
609
|
- Gemfile.lock
|
610
|
+
- History.rdoc
|
516
611
|
- Index.yml
|
517
|
-
- LICENSE.
|
518
|
-
-
|
519
|
-
- README.
|
612
|
+
- LICENSE.rdoc
|
613
|
+
- Manifest.txt
|
614
|
+
- README.rdoc
|
520
615
|
- Rakefile
|
521
616
|
- VERSION
|
522
617
|
- bin/youtube_dlhelper
|
@@ -531,24 +626,26 @@ files:
|
|
531
626
|
- lib/youtube_dlhelper/import_config.rb
|
532
627
|
- lib/youtube_dlhelper/notifier.rb
|
533
628
|
- lib/youtube_dlhelper/ripper.rb
|
534
|
-
- lib/youtube_dlhelper/version.rb
|
535
629
|
- ruby-lint.yml
|
536
|
-
-
|
537
|
-
|
630
|
+
- test/lib_spec.rb
|
631
|
+
- test/spec_helper.rb
|
632
|
+
homepage: http://saigkill.github.io
|
538
633
|
licenses:
|
539
|
-
-
|
540
|
-
metadata:
|
541
|
-
issue_tracker: http://saigkill-bugs.myjetbrains.com/youtrack/issues
|
634
|
+
- MIT
|
635
|
+
metadata: {}
|
542
636
|
post_install_message: "*** Run rake setup to finish the installation *** Please file
|
543
|
-
bugreports and feature requests on:
|
544
|
-
rdoc_options:
|
637
|
+
bugreports and feature requests on: https://gitlab.com/saigkill/youtube_dlhelper/issues"
|
638
|
+
rdoc_options:
|
639
|
+
- "--title"
|
640
|
+
- TestYoutubeDlhelper Documentation
|
641
|
+
- "--quiet"
|
545
642
|
require_paths:
|
546
643
|
- lib
|
547
644
|
required_ruby_version: !ruby/object:Gem::Requirement
|
548
645
|
requirements:
|
549
646
|
- - ">="
|
550
647
|
- !ruby/object:Gem::Version
|
551
|
-
version:
|
648
|
+
version: 2.2.0
|
552
649
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
553
650
|
requirements:
|
554
651
|
- - ">="
|
@@ -556,9 +653,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
556
653
|
version: '0'
|
557
654
|
requirements: []
|
558
655
|
rubyforge_project:
|
559
|
-
rubygems_version: 2.4.
|
656
|
+
rubygems_version: 2.4.8
|
560
657
|
signing_key:
|
561
658
|
specification_version: 4
|
562
|
-
summary:
|
659
|
+
summary: The youtube_dlhelper is a short tool for download and manage the downloaded
|
660
|
+
files
|
563
661
|
test_files: []
|
564
|
-
has_rdoc:
|