tubedl 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/lib/tubedl/playlist_parser.rb +4 -4
- data/lib/tubedl/version.rb +1 -1
- data/tubedl.gemspec +4 -2
- metadata +8 -11
- data/#tubedl.gemspec# +0 -45
- data/.#tubedl.gemspec +0 -1
- data/lib/#tubedl.rb# +0 -46
- data/lib/.#tubedl.rb +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7aca0352bc49355aee142f0913903b18d5d7d96
|
4
|
+
data.tar.gz: 1fc9bc03efc8b2ed356cb2244e7b850668c74ba9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13fdfa527bc320f182c21987801a99e66ab41e5b6b7159ae99c70c5133d1ad769a1914ccf88bc8536c054bfdf4122bea1562c18645403eefa1d89418384c7abf
|
7
|
+
data.tar.gz: 78d6aa427cf44a6ded8771cfefae051189bb2d408147b0828d3abec2c85b208b2907e745e69cb2cf8d31badd41da3646b0e392d97b580dc684d722040f8bbeac
|
data/README.md
CHANGED
@@ -34,7 +34,11 @@ video_list = metallica.playlist_data
|
|
34
34
|
dowload_links = metallica.playlist_data.values
|
35
35
|
whole_page_data = Tubedl.get_page_data(first_song_link)
|
36
36
|
specific_resulation = Tubedl.set_quality(first_song_link, 'hd1080')
|
37
|
-
metallica.save_playlist
|
37
|
+
metallica.save_playlist
|
38
|
+
metallica.save_smplayer_playlist # That will create a smplayer playlist
|
39
|
+
# Also can pass path as argument
|
40
|
+
metallica.save_smplayer_playlist '/home/gcaglar/Music'
|
41
|
+
metallica.save_playlist '/home/gcaglar/Music'
|
38
42
|
# Tubedl.load_playlist(path)
|
39
43
|
Tubedl.save_object(metallica)
|
40
44
|
|
@@ -41,12 +41,12 @@ module PlaylistParser
|
|
41
41
|
|
42
42
|
|
43
43
|
|
44
|
-
def save_playlist
|
45
|
-
File.write("Playlist-#{Time.now.to_a[3..5].join('-')}.yml", @playlist_data.to_yaml)
|
44
|
+
def save_playlist(path_to_save = nil)
|
45
|
+
File.write("#{path_to_save || '.'}/Playlist-#{Time.now.to_a[3..5].join('-')}.yml", @playlist_data.to_yaml)
|
46
46
|
end
|
47
47
|
|
48
|
-
def save_smplayer_playlist
|
49
|
-
f = File.open("smplayerPlaylist-#{@playlistID}-#{Time.now.to_a[3..5].join('-')}.m3u", "w+")
|
48
|
+
def save_smplayer_playlist(path_to_save = nil)
|
49
|
+
f = File.open("#{path_to_save || '.'}/smplayerPlaylist-#{@playlistID}-#{Time.now.to_a[3..5].join('-')}.m3u", "w+")
|
50
50
|
f.write("#EXTM3U\n")
|
51
51
|
@playlist_data.each_pair do |k, v|
|
52
52
|
f.puts("#EXTINF:0,#{k}\n#{v}\n")
|
data/lib/tubedl/version.rb
CHANGED
data/tubedl.gemspec
CHANGED
@@ -11,10 +11,12 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{This gem parses youtube playlists to an object with an instance that named as playlist_data(hash: video_names => links)
|
13
13
|
also can save that instance as yaml, can check a video link format with regex, can create link to specific resulation
|
14
|
-
can take whole page data of a link, can take video ID from link and can save object as yaml
|
14
|
+
can take whole page data of a link, can take video ID from link and can save object as yaml and also can save a smplayer
|
15
|
+
compatible playlist file. Now user can pass path to save playlist for yaml and smplalyewr playlists. }
|
15
16
|
spec.description = %q{This gem parses youtube playlists to an object with an instance that named as playlist_data(hash: video_names => links)
|
16
17
|
also can save that instance as yaml, can check a video link format with regex, can create link to specific resulation
|
17
|
-
can take whole page data of a link, can take video ID from link and can save object as yaml
|
18
|
+
can take whole page data of a link, can take video ID from link and can save object as yaml can save a smplayer
|
19
|
+
compatible playlist file. Now user can pass path to save playlist for yaml and smplalyewr playlists.}
|
18
20
|
spec.homepage = "https://github.com/cptangry/tubedl"
|
19
21
|
spec.license = "MIT"
|
20
22
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tubedl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gökhan Çağlar
|
@@ -66,19 +66,17 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.8'
|
69
|
-
description:
|
70
|
-
named as playlist_data(hash: video_names => links)
|
71
|
-
|
72
|
-
|
73
|
-
|
69
|
+
description: |-
|
70
|
+
This gem parses youtube playlists to an object with an instance that named as playlist_data(hash: video_names => links)
|
71
|
+
also can save that instance as yaml, can check a video link format with regex, can create link to specific resulation
|
72
|
+
can take whole page data of a link, can take video ID from link and can save object as yaml can save a smplayer
|
73
|
+
compatible playlist file. Now user can pass path to save playlist for yaml and smplalyewr playlists.
|
74
74
|
email:
|
75
75
|
- caglar.gokhan@gmail.com
|
76
76
|
executables: []
|
77
77
|
extensions: []
|
78
78
|
extra_rdoc_files: []
|
79
79
|
files:
|
80
|
-
- "#tubedl.gemspec#"
|
81
|
-
- ".#tubedl.gemspec"
|
82
80
|
- ".gitignore"
|
83
81
|
- ".idea/.rakeTasks"
|
84
82
|
- ".idea/dictionaries/gokhan.xml"
|
@@ -97,8 +95,6 @@ files:
|
|
97
95
|
- Rakefile
|
98
96
|
- bin/console
|
99
97
|
- bin/setup
|
100
|
-
- lib/#tubedl.rb#
|
101
|
-
- lib/.#tubedl.rb
|
102
98
|
- lib/tubedl.rb
|
103
99
|
- lib/tubedl/playlist_parser.rb
|
104
100
|
- lib/tubedl/version.rb
|
@@ -132,5 +128,6 @@ summary: 'This gem parses youtube playlists to an object with an instance that n
|
|
132
128
|
as playlist_data(hash: video_names => links) also can save that instance as yaml,
|
133
129
|
can check a video link format with regex, can create link to specific resulation
|
134
130
|
can take whole page data of a link, can take video ID from link and can save object
|
135
|
-
as yaml
|
131
|
+
as yaml and also can save a smplayer compatible playlist file. Now user can pass
|
132
|
+
path to save playlist for yaml and smplalyewr playlists.'
|
136
133
|
test_files: []
|
data/#tubedl.gemspec#
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require_relative "lib/tubedl/version"
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "tubedl"
|
8
|
-
spec.version = Tubedl::VERSION
|
9
|
-
spec.authors = ["Gökhan Çağlar"]
|
10
|
-
spec.email = ["caglar.gokhan@gmail.com"]
|
11
|
-
|
12
|
-
spec.summary = %q{This gem parses youtube playlists to an object with an instance that named as playlist_data(hash: video_names => links)
|
13
|
-
also can save that instance as yaml, can check a video link format with regex, can create link to specific resulation
|
14
|
-
can take whole page data of a link, can take video ID from link and can save object as yaml and also can save a smplayer
|
15
|
-
compatible playlist file }
|
16
|
-
spec.description = %q{This gem parses youtube playlists to an object with an instance that named as playlist_data(hash: video_names => links)
|
17
|
-
also can save that instance as yaml, can check a video link format with regex, can create link to specific resulation
|
18
|
-
can take whole page data of a link, can take video ID from link and can save object as yaml can save a smplayer
|
19
|
-
compatible playlist file}
|
20
|
-
spec.homepage = "https://github.com/cptangry/tubedl"
|
21
|
-
spec.license = "MIT"
|
22
|
-
|
23
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
24
|
-
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
25
|
-
if spec.respond_to?(:metadata)
|
26
|
-
spec.metadata["allowed_push_host"] = "https://rubygems.org/"
|
27
|
-
else
|
28
|
-
raise "RubyGems 2.0 or newer is required to protect against " \
|
29
|
-
"public gem pushes."
|
30
|
-
end
|
31
|
-
|
32
|
-
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
33
|
-
f.match(%r{^(test|spec|features)/})
|
34
|
-
end
|
35
|
-
spec.bindir = "bin"
|
36
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
37
|
-
spec.require_paths = ["lib"]
|
38
|
-
|
39
|
-
spec.required_ruby_version = '~> 2.0'
|
40
|
-
spec.add_development_dependency "bundler", "~> 1.15"
|
41
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
42
|
-
spec.add_development_dependency "minitest", "~> 5.0"
|
43
|
-
spec.add_development_dependency "nokogiri", '~> 1.8'
|
44
|
-
|
45
|
-
end
|
data/.#tubedl.gemspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
./gcaglar@gokhan-busra-9582.8822:1503153049
|
data/lib/#tubedl.rb#
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require_relative 'tubedl/version'
|
2
|
-
require_relative 'tubedl/playlist_parser'
|
3
|
-
require 'nokogiri'
|
4
|
-
require 'open-uri'
|
5
|
-
require 'yaml'
|
6
|
-
|
7
|
-
module Tubedl
|
8
|
-
include PlaylistParser
|
9
|
-
|
10
|
-
QULITIES = {
|
11
|
-
hd1440: '?version=3&vq=hd1440',
|
12
|
-
hd1080: '?version=3&vq=hd1080',
|
13
|
-
hd720: '?version=3&vq=hd720',
|
14
|
-
sd480: '?version=3&vq=large',
|
15
|
-
sd360: '?version=3&vq=medium',
|
16
|
-
sd240: '?version=3&vq=small'
|
17
|
-
}
|
18
|
-
|
19
|
-
def self.get_videoID(link)
|
20
|
-
link.match(PlaylistParser::YoutubeRegex)[5]
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.set_quality(str, quality)
|
24
|
-
str + QULITIES[quality.to_sym]
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.get_page_data(url)
|
28
|
-
begin
|
29
|
-
doc = Nokogiri::HTML(open(url).read)
|
30
|
-
rescue Timeout::Error
|
31
|
-
STDERR.puts "Timeout while connecting to: #{url}"
|
32
|
-
STDERR.puts 'Retrying...'
|
33
|
-
retry
|
34
|
-
end
|
35
|
-
doc
|
36
|
-
end
|
37
|
-
|
38
|
-
def self.load_playlist(file_path)
|
39
|
-
YAML.load_file(file_path)
|
40
|
-
end
|
41
|
-
|
42
|
-
def self.save_object(object)
|
43
|
-
File.write("#{object}.yml", YAML.dump(object))
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
data/lib/.#tubedl.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
lib/gcaglar@gokhan-busra-9582.8822:1503153049
|