addic7ed 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/addic7ed +1 -1
- data/lib/addic7ed/show_list.rb +24 -8
- data/lib/addic7ed/version.rb +1 -1
- data/spec/lib/addic7ed/show_list_spec.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32e131ca12d3e3478d6b1c74165907737e3ee5c9
|
4
|
+
data.tar.gz: 433d4e43d15508a69a1ecd373dc59f2940763278
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d48aff4625c23cac1618b4b053bf8f9a0e5a68cb1c9d5f1105d35c2e3e916aa044e69276074c1abda129ea292b797d9f67522bc162697fff57ebb8f31574a11b
|
7
|
+
data.tar.gz: 26e1a7d7e651016edfc33050bfcca18945e724ab6b256edb1867d4696a4aea217da25e90eab9f1d021b4c0c4d1bffa55795b869e9da647d583014d608a03e358
|
data/bin/addic7ed
CHANGED
@@ -116,7 +116,7 @@ options[:filenames].each do |filename|
|
|
116
116
|
puts "Show not found on Addic7ed : #{ep.video_file.showname}. Skipping.".gsub(/^/, options[:verbose] ? ' ' : '') unless options[:quiet]
|
117
117
|
next
|
118
118
|
rescue Addic7ed::EpisodeNotFound
|
119
|
-
puts "Episode not found on Addic7ed : #{Addic7ed::ShowList.
|
119
|
+
puts "Episode not found on Addic7ed : #{Addic7ed::ShowList.url_segment_for(ep.video_file.showname)} S#{ep.video_file.season}E#{ep.video_file.episode}. Skipping.".gsub(/^/, options[:verbose] ? ' ' : '') unless options[:quiet]
|
120
120
|
next
|
121
121
|
rescue Addic7ed::LanguageNotSupported
|
122
122
|
puts "Addic7ed does not support language '#{options[:language]}'. Exiting.".gsub(/^/, options[:verbose] ? ' ' : '') unless options[:quiet]
|
data/lib/addic7ed/show_list.rb
CHANGED
@@ -11,12 +11,34 @@ module Addic7ed
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def url_segment_for
|
14
|
-
|
15
|
-
|
14
|
+
shows_matching = shows_matching_exactly
|
15
|
+
shows_matching = shows_matching_without_year if shows_matching.empty?
|
16
|
+
raise ShowNotFound if shows_matching.empty?
|
17
|
+
shows_matching.last.gsub(' ', '_')
|
16
18
|
end
|
17
19
|
|
18
20
|
private
|
19
21
|
|
22
|
+
def shows_matching_exactly
|
23
|
+
@shows_matching_exactly ||= addic7ed_shows.select{ |addic7ed_show| is_matching? addic7ed_show }
|
24
|
+
end
|
25
|
+
|
26
|
+
def shows_matching_without_year
|
27
|
+
@shows_matching_without_year ||= addic7ed_shows.select{ |addic7ed_show| is_matching? addic7ed_show, :comparer_without_year }
|
28
|
+
end
|
29
|
+
|
30
|
+
def default_comparer(showname)
|
31
|
+
showname.downcase.gsub("'", "")
|
32
|
+
end
|
33
|
+
|
34
|
+
def comparer_without_year(showname)
|
35
|
+
default_comparer(showname).gsub(/ \(\d{4}\)( |$)/, '\1')
|
36
|
+
end
|
37
|
+
|
38
|
+
def is_matching?(addic7ed_show, comparer = :default_comparer)
|
39
|
+
[humanized_name, addic7ed_show].map(&method(comparer)).reduce(:==)
|
40
|
+
end
|
41
|
+
|
20
42
|
def humanized_name
|
21
43
|
@humanized_name ||= raw_name.
|
22
44
|
gsub(/[_\.]+/, ' ').
|
@@ -24,12 +46,6 @@ module Addic7ed
|
|
24
46
|
gsub(/ (\d{4})( |$)/i, ' (\1)\2')
|
25
47
|
end
|
26
48
|
|
27
|
-
def matching_shows
|
28
|
-
@matching_shows ||= addic7ed_shows.select do |addic7ed_show|
|
29
|
-
[addic7ed_show, humanized_name].map{ |showname| showname.downcase.gsub("'", "") }.reduce(:==)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
49
|
def addic7ed_shows
|
34
50
|
@@addic7ed_shows ||= Nokogiri::HTML(addic7ed_homepage.body).css("select#qsShow option:not(:first-child)").map(&:text)
|
35
51
|
end
|
data/lib/addic7ed/version.rb
CHANGED
@@ -19,6 +19,11 @@ describe Addic7ed::ShowList, ".url_segment_for" do
|
|
19
19
|
expect(Addic7ed::ShowList.url_segment_for("Vikings.2013")).to eq "Vikings_(2013)"
|
20
20
|
end
|
21
21
|
|
22
|
+
it "returns last show when production year is unspecified" do
|
23
|
+
expect(Addic7ed::ShowList.url_segment_for("Empire")).to eq "Empire_(2015)"
|
24
|
+
expect(Addic7ed::ShowList.url_segment_for("American.Crime")).to eq "American_Crime_(2015)"
|
25
|
+
end
|
26
|
+
|
22
27
|
it "handles when both country code and production year are present" do
|
23
28
|
expect(Addic7ed::ShowList.url_segment_for("Legacy.2013.UK")).to eq "Legacy_(2013)_(UK)"
|
24
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: addic7ed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Baudino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|