serienrenamer 0.1.2 → 0.2.0
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/.gitignore +0 -1
- data/.travis.yml +2 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +57 -0
- data/README.rdoc +19 -23
- data/bin/serienrenamer +7 -1
- data/lib/serienrenamer/episode.rb +3 -59
- data/lib/serienrenamer/plugin.rb +1 -0
- data/lib/serienrenamer/plugin/umlauts.rb +70 -0
- data/lib/serienrenamer/version.rb +1 -1
- data/serienrenamer.gemspec +1 -3
- data/test/test_episode.rb +64 -118
- data/test/test_information_store.rb +16 -19
- data/test/test_plugin_serienjunkies_feed.rb +36 -38
- data/test/test_plugin_textfile.rb +11 -17
- data/test/test_plugin_umlauts.rb +40 -0
- metadata +18 -51
- data/lib/serienrenamer/plugin/serienjunkies_de.rb +0 -131
- data/lib/serienrenamer/plugin/serienjunkies_org.rb +0 -181
- data/lib/serienrenamer/plugin/wikipedia.rb +0 -448
- data/test/skipped_test_plugin_serienjunkies_org.rb +0 -84
- data/test/skipped_test_plugin_wikipedia.rb +0 -177
- data/test/test_plugin_serienjunkies_de.rb +0 -98
@@ -1,84 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
require File.dirname(__FILE__) + '/test_helper.rb'
|
3
|
-
|
4
|
-
class TestSerienjunkiesOrg < Test::Unit::TestCase
|
5
|
-
@@files = {
|
6
|
-
'flpo' => 'Flashpoint.S04E04.German.Dubbed.WEB-DL.XViD.avi',
|
7
|
-
'dani' => 'Dr.Dani.Santino.S01E04.German.Dubbed.WEB-DL.XViD.avi',
|
8
|
-
'two' => 'Two.and.a.half.Men.S06E07.German.Dubbed.WS.WEB-DL.XviD-GDR.avi',
|
9
|
-
'sea' => 'Sea.Patrol.s05e11.avi',
|
10
|
-
}
|
11
|
-
|
12
|
-
def setup
|
13
|
-
TestHelper.create_test_files(@@files.values)
|
14
|
-
TestHelper.cwd
|
15
|
-
end
|
16
|
-
|
17
|
-
def teardown
|
18
|
-
TestHelper.clean
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_seriespage_url_search
|
22
|
-
|
23
|
-
VCR.use_cassette("sjunkie_org_#{method_name}") do
|
24
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesOrg
|
25
|
-
|
26
|
-
misfits = plugin.find_link_to_series_page("Misfits")
|
27
|
-
assert_equal("http://serienjunkies.org/serie/misfits/", misfits)
|
28
|
-
|
29
|
-
thementalist = plugin.find_link_to_series_page("The Mentalist")
|
30
|
-
assert_equal("http://serienjunkies.org/serie/the-mentalist/", thementalist)
|
31
|
-
|
32
|
-
ncis = plugin.find_link_to_series_page("NCIS")
|
33
|
-
assert_equal("http://serienjunkies.org/serie/ncis/", ncis)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_parse_seriespage
|
38
|
-
|
39
|
-
VCR.use_cassette("sjunkie_org_#{method_name}") do
|
40
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesOrg
|
41
|
-
|
42
|
-
seasons = plugin.parse_seriespage(
|
43
|
-
"http://serienjunkies.org/royal-pains/")
|
44
|
-
assert_match(/Auch.Reiche.sind.nur.Menschen/, seasons['1_1'])
|
45
|
-
assert_match(/Krank.vor.Liebe/, seasons['2_2'])
|
46
|
-
|
47
|
-
seasons = plugin.parse_seriespage(
|
48
|
-
"http://serienjunkies.org/serie/chuck/")
|
49
|
-
assert_match(/Chuck.gegen.den.Intersect/, seasons['1_1'])
|
50
|
-
assert_match(/Chuck.gegen.den.Tunnel.des.Schreckens/, seasons['4_6'])
|
51
|
-
|
52
|
-
seasons = plugin.parse_seriespage("http://serienjunkies.org/ncis")
|
53
|
-
assert_match(/Sprung.in.den.Tod/, seasons['1_2'])
|
54
|
-
assert_match(/Fuer.immer.jung/, seasons['9_2'])
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_episode_information_generation
|
59
|
-
|
60
|
-
VCR.use_cassette("sjunkie_org_#{method_name}") do
|
61
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesOrg
|
62
|
-
|
63
|
-
flpo = Serienrenamer::Episode.new(@@files['flpo'])
|
64
|
-
data = plugin.generate_episode_information(flpo)[0]
|
65
|
-
flpo.add_episode_information(data, true) if data
|
66
|
-
assert_equal("S04E04 - Getrübte Erinnerungen.avi", flpo.to_s)
|
67
|
-
|
68
|
-
dani = Serienrenamer::Episode.new(@@files['dani'])
|
69
|
-
data = plugin.generate_episode_information(dani)[0]
|
70
|
-
dani.add_episode_information(data, true) if data
|
71
|
-
assert_equal("S01E04 - Gewohnheiten.avi", dani.to_s)
|
72
|
-
|
73
|
-
two = Serienrenamer::Episode.new(@@files['two'])
|
74
|
-
data = plugin.generate_episode_information(two)[0]
|
75
|
-
two.add_episode_information(data, true) if data
|
76
|
-
assert_equal("S06E07 - Alles einsteigen.avi", two.to_s)
|
77
|
-
|
78
|
-
sea = Serienrenamer::Episode.new(@@files['sea'])
|
79
|
-
data = plugin.generate_episode_information(sea)[0]
|
80
|
-
sea.add_episode_information(data, true) if data
|
81
|
-
assert_equal("S05E11 - Der Morgen danach.avi", sea.to_s)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
@@ -1,177 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
require File.dirname(__FILE__) + '/test_helper.rb'
|
3
|
-
require 'media_wiki'
|
4
|
-
|
5
|
-
class TestPluginWikipedia < Test::Unit::TestCase
|
6
|
-
@@files = {
|
7
|
-
'flpo' => 'Flashpoint.S04E04.German.Dubbed.WEB-DL.XViD.avi',
|
8
|
-
'dani' => 'Dr.Dani.Santino.S01E04.German.Dubbed.WEB-DL.XViD.avi',
|
9
|
-
'two' => 'Two.and.a.half.Men.S09E07.German.Dubbed.WS.WEB-DL.XviD-GDR.avi',
|
10
|
-
'simp' => 'Die.Simpsons.S09E07.German.Dubbed.WS.WEB-DL.XviD-GDR.avi',
|
11
|
-
'sea' => 'tcpa-seapatrol_s05e11.avi',
|
12
|
-
}
|
13
|
-
|
14
|
-
@@directories = {
|
15
|
-
'chuck' => 'Chuck.S01E01.German.Dubbed.BLURAYRiP.WEB-DL',
|
16
|
-
'chuck2' => 'Chuck.S02E10.German.Dubbed.BLURAYRiP.WEB-DL',
|
17
|
-
}
|
18
|
-
|
19
|
-
def setup
|
20
|
-
TestHelper.create_test_files(@@files.values)
|
21
|
-
TestHelper.create_test_dirs(@@directories.values)
|
22
|
-
TestHelper.cwd
|
23
|
-
end
|
24
|
-
|
25
|
-
def teardown
|
26
|
-
TestHelper.clean
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_episode_list_page_data_extraction
|
30
|
-
|
31
|
-
VCR.use_cassette("wiki_#{method_name}") do
|
32
|
-
wiki = MediaWiki::Gateway.new('http://de.wikipedia.org/w/api.php')
|
33
|
-
|
34
|
-
data = wiki.get("Liste der Episoden von Bones – Die Knochenjägerin")
|
35
|
-
seasons = Plugin::Wikipedia.parse_episodelist_page_data(data)
|
36
|
-
|
37
|
-
assert_equal("Die Frau im Teich", seasons[1][1])
|
38
|
-
assert_equal("Ein Verräter im Feuer", seasons[2][11])
|
39
|
-
assert_equal("Vom Vergehen und Werden", seasons[6][23])
|
40
|
-
|
41
|
-
data = wiki.get("Liste der Criminal-Minds-Episoden")
|
42
|
-
seasons = Plugin::Wikipedia.parse_episodelist_page_data(data)
|
43
|
-
|
44
|
-
assert_equal("Der Abgrund", seasons[1][1])
|
45
|
-
assert_equal("Rivalen", seasons[2][9])
|
46
|
-
assert_equal("Valhalla", seasons[6][17])
|
47
|
-
|
48
|
-
data = wiki.get("Liste der Dexter-Episoden")
|
49
|
-
seasons = Plugin::Wikipedia.parse_episodelist_page_data(data)
|
50
|
-
|
51
|
-
assert_equal("Rot wie Blut", seasons[1][10])
|
52
|
-
assert_equal("Hitzewelle", seasons[2][4])
|
53
|
-
assert_equal("Familienväter", seasons[4][6])
|
54
|
-
|
55
|
-
data = wiki.get("Liste der Simpsons-Episoden")
|
56
|
-
seasons = Plugin::Wikipedia.parse_episodelist_page_data(data, true)
|
57
|
-
|
58
|
-
assert_equal("Es weihnachtet schwer", seasons[1][1])
|
59
|
-
assert_equal("Bösartige Spiele", seasons[4][5])
|
60
|
-
assert_equal("Homer an der Uni", seasons[5][3])
|
61
|
-
assert_equal("Hochzeit auf Indisch", seasons[9][7])
|
62
|
-
assert_equal("G.I. Homer", seasons[18][5])
|
63
|
-
assert_equal("Die Farbe Gelb", seasons[21][13])
|
64
|
-
|
65
|
-
data = wiki.get("Liste der Misfits-Episoden")
|
66
|
-
seasons = Plugin::Wikipedia.parse_episodelist_page_data(data)
|
67
|
-
|
68
|
-
assert_equal("Das Gewitter", seasons[1][1])
|
69
|
-
assert_equal("Nathan wird Vater", seasons[2][7])
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# def test_inpage_episode_list_page_data_extraction
|
74
|
-
|
75
|
-
# VCR.use_cassette("wiki_#{method_name}") do
|
76
|
-
# wiki = MediaWiki::Gateway.new('http://de.wikipedia.org/w/api.php')
|
77
|
-
|
78
|
-
# data = wiki.get("The Glades")
|
79
|
-
# seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
80
|
-
|
81
|
-
# assert_equal("Reptilien im Paradies", seasons[1][1])
|
82
|
-
# assert_equal("Doppelgänger", seasons[1][6])
|
83
|
-
# assert_equal("Unruhiges Blut", seasons[1][9])
|
84
|
-
|
85
|
-
# data = wiki.get("Dr. Dani Santino – Spiel des Lebens")
|
86
|
-
# seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
87
|
-
|
88
|
-
# assert_equal("Touchdown", seasons[1][1])
|
89
|
-
# assert_equal("Zickenkrieg", seasons[1][7])
|
90
|
-
|
91
|
-
# # the following series have an old inarticle episodelist
|
92
|
-
# data = wiki.get("Prison Break")
|
93
|
-
# seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
94
|
-
|
95
|
-
# assert_equal("Der große Plan", seasons[1][1])
|
96
|
-
# assert_equal("Seite 1213", seasons[2][5])
|
97
|
-
# end
|
98
|
-
# end
|
99
|
-
|
100
|
-
|
101
|
-
def test_episode_information_generation
|
102
|
-
|
103
|
-
VCR.use_cassette("wiki_#{method_name}") do
|
104
|
-
two = Serienrenamer::Episode.new(@@files['two'])
|
105
|
-
data = Plugin::Wikipedia.generate_episode_information(two)[0]
|
106
|
-
two.add_episode_information(data, false) if data
|
107
|
-
assert_equal("S09E07 - Das Tagebuch.avi", two.to_s)
|
108
|
-
|
109
|
-
simp = Serienrenamer::Episode.new(@@files['simp'])
|
110
|
-
data = Plugin::Wikipedia.generate_episode_information(simp)[0]
|
111
|
-
simp.add_episode_information(data, false) if data
|
112
|
-
assert_equal("S09E07 - Hochzeit auf Indisch.avi", simp.to_s)
|
113
|
-
|
114
|
-
chuck = Serienrenamer::Episode.new(@@directories['chuck'])
|
115
|
-
data = Plugin::Wikipedia.generate_episode_information(chuck)[0]
|
116
|
-
chuck.add_episode_information(data, false) if data
|
117
|
-
assert_equal("S01E01 - Pilot.avi", chuck.to_s)
|
118
|
-
|
119
|
-
chuck2 = Serienrenamer::Episode.new(@@directories['chuck2'])
|
120
|
-
data = Plugin::Wikipedia.generate_episode_information(chuck2)[0]
|
121
|
-
chuck2.add_episode_information(data, false) if data
|
122
|
-
assert_equal("S02E10 - Chuck gegen zehn Millionen.avi", chuck2.to_s)
|
123
|
-
|
124
|
-
# should be refactored or mocked out
|
125
|
-
# dani = Serienrenamer::Episode.new(@@files['dani'])
|
126
|
-
# data = Plugin::Wikipedia.generate_episode_information(dani)[0]
|
127
|
-
# dani.add_episode_information(data, false) if data
|
128
|
-
# assert_equal("S01E04 - Gewohnheiten.avi", dani.to_s)
|
129
|
-
|
130
|
-
sea = Serienrenamer::Episode.new(@@files['sea'])
|
131
|
-
data = Plugin::Wikipedia.generate_episode_information(sea)[0]
|
132
|
-
sea.add_episode_information(data, false) if data
|
133
|
-
assert_equal("S05E11 - Der Morgen danach.avi", sea.to_s)
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
def test_check_for_series_main_page
|
138
|
-
|
139
|
-
VCR.use_cassette("wiki_#{method_name}") do
|
140
|
-
wiki = MediaWiki::Gateway.new('http://de.wikipedia.org/w/api.php')
|
141
|
-
|
142
|
-
assert_equal(false, Plugin::Wikipedia.is_series_main_page?(wiki.get("Bones")))
|
143
|
-
assert_equal(true, Plugin::Wikipedia.is_series_main_page?(wiki.get("Bones – Die Knochenjägerin")))
|
144
|
-
assert_equal(false, Plugin::Wikipedia.is_series_main_page?(wiki.get("Bones – Der Tod ist erst der Anfang")))
|
145
|
-
assert_equal(false, Plugin::Wikipedia.is_series_main_page?(wiki.get("Chuck")))
|
146
|
-
assert_equal(true, Plugin::Wikipedia.is_series_main_page?(wiki.get("Chuck (Fernsehserie)")))
|
147
|
-
assert_equal(false, Plugin::Wikipedia.is_series_main_page?(wiki.get("Chuck (Album)")))
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
def test_check_for_disambiguation_page
|
152
|
-
|
153
|
-
VCR.use_cassette("wiki_#{method_name}") do
|
154
|
-
wiki = MediaWiki::Gateway.new('http://de.wikipedia.org/w/api.php')
|
155
|
-
|
156
|
-
assert_equal(true, Plugin::Wikipedia.is_disambiguation_site?(wiki.get("Bones")))
|
157
|
-
assert_equal(false, Plugin::Wikipedia.is_disambiguation_site?(wiki.get("Bones – Die Knochenjägerin")))
|
158
|
-
assert_equal(true, Plugin::Wikipedia.is_disambiguation_site?(wiki.get("Chuck")))
|
159
|
-
assert_equal(false, Plugin::Wikipedia.is_disambiguation_site?(wiki.get("Chuck (Fernsehserie)")))
|
160
|
-
assert_equal(false, Plugin::Wikipedia.is_disambiguation_site?(wiki.get("Chuck (Album)")))
|
161
|
-
end
|
162
|
-
|
163
|
-
end
|
164
|
-
|
165
|
-
def test_check_for_inarticle_episode_list
|
166
|
-
|
167
|
-
VCR.use_cassette("wiki_#{method_name}") do
|
168
|
-
wiki = MediaWiki::Gateway.new('http://de.wikipedia.org/w/api.php')
|
169
|
-
|
170
|
-
assert_equal(false, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("Bones")))
|
171
|
-
assert_equal(true, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("The Glades")))
|
172
|
-
assert_equal(false, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("Royal Pains")))
|
173
|
-
end
|
174
|
-
|
175
|
-
end
|
176
|
-
|
177
|
-
end
|
@@ -1,98 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
require File.dirname(__FILE__) + '/test_helper.rb'
|
3
|
-
|
4
|
-
class TestPluginSerienjunkiesDe < Test::Unit::TestCase
|
5
|
-
@@files = {
|
6
|
-
'flpo' => 'Flashpoint.S04E04.German.Dubbed.WEB-DL.XViD.avi',
|
7
|
-
'dani' => 'Dr.Dani.Santino.S01E04.German.Dubbed.WEB-DL.XViD.avi',
|
8
|
-
'two' => 'Two.and.a.half.Men.S09E07.German.Dubbed.WS.WEB-DL.XviD-GDR.avi',
|
9
|
-
'simp' => 'Die.Simpsons.S09E07.German.Dubbed.WS.WEB-DL.XviD-GDR.avi',
|
10
|
-
'sea' => 'tcpa-seapatrol_s05e11.avi',
|
11
|
-
}
|
12
|
-
|
13
|
-
@@directories = {
|
14
|
-
'chuck' => 'Chuck.S01E01.German.Dubbed.BLURAYRiP.WEB-DL',
|
15
|
-
'chuck2' => 'Chuck.S02E10.German.Dubbed.BLURAYRiP.WEB-DL',
|
16
|
-
}
|
17
|
-
|
18
|
-
def setup
|
19
|
-
TestHelper.create_test_files(@@files.values)
|
20
|
-
TestHelper.create_test_dirs(@@directories.values)
|
21
|
-
TestHelper.cwd
|
22
|
-
end
|
23
|
-
|
24
|
-
def teardown
|
25
|
-
TestHelper.clean
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_seriespage_url_search
|
29
|
-
VCR.use_cassette("sjunkie_de_#{method_name}") do
|
30
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesDe
|
31
|
-
|
32
|
-
misfits = plugin.find_link_to_series_page("Misfits")
|
33
|
-
assert_equal("http://serienjunkies.de/misfits/", misfits)
|
34
|
-
|
35
|
-
thementalist = plugin.find_link_to_series_page("The Mentalist")
|
36
|
-
assert_equal("http://serienjunkies.de/the-mentalist/", thementalist)
|
37
|
-
|
38
|
-
ncis = plugin.find_link_to_series_page("NCIS")
|
39
|
-
assert_equal("http://serienjunkies.de/ncis/", ncis)
|
40
|
-
|
41
|
-
berger = plugin.find_link_to_series_page("The Hard Times Of RJ Berger")
|
42
|
-
assert_equal(nil, berger)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_parse_seriespage
|
47
|
-
|
48
|
-
VCR.use_cassette("sjunkie_de_#{method_name}") do
|
49
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesDe
|
50
|
-
|
51
|
-
seasons = plugin.parse_seriespage(
|
52
|
-
"http://www.serienjunkies.de/royal-pains/")
|
53
|
-
assert_match(/Auch.Reiche.sind.nur.Menschen/, seasons['S01E01'])
|
54
|
-
assert_match(/Krank.vor.Liebe/, seasons['S02E02'])
|
55
|
-
|
56
|
-
seasons = plugin.parse_seriespage(
|
57
|
-
"http://www.serienjunkies.de/flashpoint/")
|
58
|
-
assert_match(/Zu.viele.Verlierer/, seasons['S02E02'])
|
59
|
-
assert_match(/Der.Aufstand/, seasons['S02E16'])
|
60
|
-
|
61
|
-
seasons = plugin.parse_seriespage(
|
62
|
-
"http://www.serienjunkies.de/necessary-roughness/")
|
63
|
-
assert_match(/Touchdown/, seasons['S01E01'])
|
64
|
-
assert_match(/Extremsport/, seasons['S01E06'])
|
65
|
-
|
66
|
-
seasons = plugin.parse_seriespage("http://www.serienjunkies.de/Weeds/")
|
67
|
-
assert_match(/Das.Geld.im.Pool/, seasons['S03E02'])
|
68
|
-
assert_match(/Schlangennest/, seasons['S02E01'])
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_episode_information_generation
|
73
|
-
|
74
|
-
VCR.use_cassette("sjunkie_de_#{method_name}") do
|
75
|
-
plugin = Serienrenamer::Plugin::SerienjunkiesDe
|
76
|
-
|
77
|
-
flpo = Serienrenamer::Episode.new(@@files['flpo'])
|
78
|
-
data = plugin.generate_episode_information(flpo)[0]
|
79
|
-
flpo.add_episode_information(data, true) if data
|
80
|
-
assert_equal("S04E04 - Getrübte Erinnerungen.avi", flpo.to_s)
|
81
|
-
|
82
|
-
two = Serienrenamer::Episode.new(@@files['two'])
|
83
|
-
data = plugin.generate_episode_information(two)[0]
|
84
|
-
two.add_episode_information(data, true) if data
|
85
|
-
assert_equal("S09E07 - Das Tagebuch.avi", two.to_s)
|
86
|
-
|
87
|
-
chuck = Serienrenamer::Episode.new(@@directories['chuck'])
|
88
|
-
data = plugin.generate_episode_information(chuck)[0]
|
89
|
-
chuck.add_episode_information(data, true) if data
|
90
|
-
assert_equal("S01E01 - Pilot.avi", chuck.to_s)
|
91
|
-
|
92
|
-
chuck2 = Serienrenamer::Episode.new(@@directories['chuck2'])
|
93
|
-
data = plugin.generate_episode_information(chuck2)[0]
|
94
|
-
chuck2.add_episode_information(data, true) if data
|
95
|
-
assert_equal("S02E10 - Chuck gegen zehn Millionen.avi", chuck2.to_s)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|