LyricFind 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/lyricfind.rb +1 -0
- data/lib/lyricfind/album.rb +1 -1
- data/lib/lyricfind/duration.rb +1 -1
- data/lib/lyricfind/get_lyrics_by_song_name.rb +1 -17
- data/lib/lyricfind/get_snippet_by_song_name.rb +1 -1
- data/lib/lyricfind/get_song_info.rb +61 -0
- data/lib/lyricfind/instrumental.rb +1 -1
- data/lib/lyricfind/song_info.rb +9 -0
- data/lib/lyricfind/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20b1ab696d7544364ffd20a380e5cd7c14b63ee5
|
4
|
+
data.tar.gz: 6a8ddb99be8d235adc8f93f4a8fcd5bf3b286156
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 755e33933aa02295c4f50fa0d1f929d21017b24c31131f514abea759fe9f922377ec5d8f4a6cf533700066d2d995f3f4b7550d6257870161fd8821df2fc2573c
|
7
|
+
data.tar.gz: 0ceb9c046d67f779847656dfbfb602d9d70d26ba575e20903276f106b49dbf0d1f8c650a3da4da95367802cd98787e425e781f4c81a8df7d360500064b899d08
|
data/Gemfile.lock
CHANGED
data/lib/lyricfind.rb
CHANGED
data/lib/lyricfind/album.rb
CHANGED
data/lib/lyricfind/duration.rb
CHANGED
@@ -12,23 +12,7 @@ module LyricFind
|
|
12
12
|
doc = get_search_api_response artist, song_name
|
13
13
|
return if doc == nil
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
track = doc.xpath('//tracks/track')[0]['amg']
|
18
|
-
|
19
|
-
query_url = URI.escape "http://api.lyricfind.com/lyric.do?apikey=#{@display_key}&reqtype=default&trackid=amg:#{track}"
|
20
|
-
|
21
|
-
response = open(query_url).read
|
22
|
-
doc = Nokogiri::HTML(response)
|
23
|
-
doc.encoding = 'utf-8'
|
24
|
-
|
25
|
-
return nil if !(check_success doc, 101)
|
26
|
-
|
27
|
-
lyrics = doc.xpath('//lyrics')
|
28
|
-
lyrics[0].content
|
29
|
-
rescue Exception => ex
|
30
|
-
nil
|
31
|
-
end
|
15
|
+
get_lyrics get_track_amg doc
|
32
16
|
end
|
33
17
|
|
34
18
|
def get_search_api_response artist, song_name
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require_relative 'song_info'
|
2
|
+
|
3
|
+
module LyricFind
|
4
|
+
class API
|
5
|
+
def get_song_info artist, song_name
|
6
|
+
song_info = SongInfo.new
|
7
|
+
|
8
|
+
doc = get_search_api_response artist, song_name
|
9
|
+
return if doc == nil
|
10
|
+
|
11
|
+
song_info.artist = artist
|
12
|
+
song_info.song_name = song_name
|
13
|
+
song_info.album = get_album doc
|
14
|
+
song_info.duration = get_duration doc
|
15
|
+
song_info.snippet = get_snippet doc
|
16
|
+
song_info.instrumental = get_instrumental doc
|
17
|
+
|
18
|
+
song_info.lyrics = get_lyrics get_track_amg doc
|
19
|
+
|
20
|
+
song_info
|
21
|
+
end
|
22
|
+
|
23
|
+
def get_album doc
|
24
|
+
doc.xpath('//album')[0].content.gsub("\r\n", '').strip
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_duration doc
|
28
|
+
doc.xpath('//tracks/track')[0]['duration']
|
29
|
+
end
|
30
|
+
|
31
|
+
def get_snippet doc
|
32
|
+
doc.xpath('//snippet')[0].content.gsub("\r\n",'').strip
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_instrumental doc
|
36
|
+
doc.xpath('//tracks/track')[0]['instrumental'] == 'true'
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_track_amg doc
|
40
|
+
doc.xpath('//tracks/track')[0]['amg']
|
41
|
+
end
|
42
|
+
|
43
|
+
def get_lyrics track
|
44
|
+
begin
|
45
|
+
query_url = URI.escape "http://api.lyricfind.com/lyric.do?apikey=#{@display_key}&reqtype=default&trackid=amg:#{track}"
|
46
|
+
|
47
|
+
response = open(query_url).read
|
48
|
+
doc = Nokogiri::HTML(response)
|
49
|
+
doc.encoding = 'utf-8'
|
50
|
+
|
51
|
+
return nil if !(check_success doc, 101)
|
52
|
+
|
53
|
+
lyrics = doc.xpath('//lyrics')
|
54
|
+
lyrics[0].content
|
55
|
+
rescue Exception => ex
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
data/lib/lyricfind/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: LyricFind
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Itamar Hassin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -130,7 +130,9 @@ files:
|
|
130
130
|
- lib/lyricfind/duration.rb
|
131
131
|
- lib/lyricfind/get_lyrics_by_song_name.rb
|
132
132
|
- lib/lyricfind/get_snippet_by_song_name.rb
|
133
|
+
- lib/lyricfind/get_song_info.rb
|
133
134
|
- lib/lyricfind/instrumental.rb
|
135
|
+
- lib/lyricfind/song_info.rb
|
134
136
|
- lib/lyricfind/version.rb
|
135
137
|
- lyricfind.gemspec
|
136
138
|
- vendor/cache/addressable-2.3.8.gem
|