LyricFind 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 394a1b69e759c034601bc5e11504fb8b323c84ca
4
- data.tar.gz: 87f8ea293c44d6ec1b43e0df8d9e94ad65a76966
3
+ metadata.gz: 20b1ab696d7544364ffd20a380e5cd7c14b63ee5
4
+ data.tar.gz: 6a8ddb99be8d235adc8f93f4a8fcd5bf3b286156
5
5
  SHA512:
6
- metadata.gz: affa41b89722d4c1bd63924601624b36c4e554737d3a5c39f2b6177d942cb392f89394f77dc61fa661ad51c5938e7d23766970fbb00fe58089e4b9903ec02985
7
- data.tar.gz: 1e6c4b9d5536f0839b4b79bbfd555c1a77ce0debdb53ff9fd8c19e5568d41ceca8b8c48edf656a29f410f10721f3f97fc678365fc636c20a5b18909855f73aea
6
+ metadata.gz: 755e33933aa02295c4f50fa0d1f929d21017b24c31131f514abea759fe9f922377ec5d8f4a6cf533700066d2d995f3f4b7550d6257870161fd8821df2fc2573c
7
+ data.tar.gz: 0ceb9c046d67f779847656dfbfb602d9d70d26ba575e20903276f106b49dbf0d1f8c650a3da4da95367802cd98787e425e781f4c81a8df7d360500064b899d08
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- LyricFind (0.1.5)
4
+ LyricFind (0.1.6)
5
5
  nokogiri (~> 1.6)
6
6
 
7
7
  GEM
@@ -4,3 +4,4 @@ require "lyricfind/instrumental"
4
4
  require "lyricfind/duration"
5
5
  require "lyricfind/album"
6
6
  require "lyricfind/get_snippet_by_song_name"
7
+ require "lyricfind/get_song_info"
@@ -7,7 +7,7 @@ module LyricFind
7
7
  doc = get_search_api_response artist, song_name
8
8
  return nil if doc.nil?
9
9
 
10
- doc.xpath('//album')[0].content.gsub("\r\n", '').strip
10
+ get_album doc
11
11
  end
12
12
  end
13
13
  end
@@ -7,7 +7,7 @@ module LyricFind
7
7
  doc = get_search_api_response artist, song_name
8
8
  return nil if doc.nil?
9
9
 
10
- return doc.xpath('//tracks/track')[0]['duration']
10
+ get_duration doc
11
11
 
12
12
  end
13
13
  end
@@ -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
- begin
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
@@ -7,7 +7,7 @@ module LyricFind
7
7
  doc = get_search_api_response artist, song_name
8
8
  return nil if doc.nil?
9
9
 
10
- return doc.xpath('//snippet')[0].content.gsub("\r\n",'').strip
10
+ get_snippet doc
11
11
 
12
12
  end
13
13
  end
@@ -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
@@ -7,7 +7,7 @@ module LyricFind
7
7
  doc = get_search_api_response artist, song_name
8
8
  return nil if doc.nil?
9
9
 
10
- return doc.xpath('//tracks/track')[0]['instrumental'] == 'true'
10
+ get_instrumental doc
11
11
  end
12
12
  end
13
13
  end
@@ -0,0 +1,9 @@
1
+ require 'open-uri'
2
+ require 'nokogiri'
3
+
4
+ module LyricFind
5
+ class SongInfo
6
+ attr_accessor :lyrics, :artist, :song_name, :album, :duration, :snippet, :instrumental
7
+
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module LyricFind
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
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.5
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-01 00:00:00.000000000 Z
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