serienrenamer 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +4 -0
- data/Gemfile +1 -0
- data/README.rdoc +2 -1
- data/Rakefile +2 -0
- data/lib/plugin/episode_identifier.rb +33 -0
- data/lib/plugin/wikipedia.rb +1 -1
- data/lib/serienrenamer.rb +1 -1
- data/lib/serienrenamer/episode.rb +7 -0
- data/lib/serienrenamer/version.rb +3 -0
- data/serienrenamer.gemspec +1 -1
- data/test/test_plugin_episode_identifier.rb +38 -0
- data/test/test_plugin_wikipedia.rb +1 -20
- metadata +13 -3
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= serienrenamer
|
1
|
+
= serienrenamer {<img src="https://secure.travis-ci.org/pboehm/serienrenamer.png" />}[http://travis-ci.org/pboehm/serienrenamer]
|
2
2
|
|
3
3
|
* http://github.com/pboehm/serienrenamer
|
4
4
|
|
@@ -16,6 +16,7 @@ like "S01E01 - Episodename.avi"
|
|
16
16
|
* query the serienjunkies.org Page for series specific data
|
17
17
|
* query the serienjunkies.de Page for series specific data
|
18
18
|
* query wikipedia for episode information
|
19
|
+
* contains a plugin that creates an episodename out of the episode identifier
|
19
20
|
* repair broken german umlauts if the occur in the episode title
|
20
21
|
* rename these files
|
21
22
|
|
data/Rakefile
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
# class that creates an episodename out of the episode identifier
|
2
|
+
# for S02E04 the episodename would be "Episode 4"
|
3
|
+
|
4
|
+
module Plugin
|
5
|
+
|
6
|
+
class EpisodeIdentifier < Serienrenamer::Pluginbase
|
7
|
+
|
8
|
+
def self.plugin_name; "EpisodeIdentifier" end
|
9
|
+
def self.usable; true end
|
10
|
+
def self.priority; 1 end
|
11
|
+
|
12
|
+
# this method will be called from the main program
|
13
|
+
# with an Serienrenamer::Episode instance or a path
|
14
|
+
# to to a directory as parameter
|
15
|
+
#
|
16
|
+
# it returns an array of episode information
|
17
|
+
def self.generate_episode_information(episode)
|
18
|
+
|
19
|
+
path = episode.episodepath
|
20
|
+
|
21
|
+
matched_episodes = []
|
22
|
+
|
23
|
+
if Serienrenamer::Episode.contains_episode_information?(path)
|
24
|
+
if md = Serienrenamer::Episode.extract_episode_information(path)
|
25
|
+
episodename = "Episode %d" % [ md[:episode] ]
|
26
|
+
matched_episodes << episodename
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
return matched_episodes
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/plugin/wikipedia.rb
CHANGED
@@ -52,7 +52,7 @@ module Plugin
|
|
52
52
|
search_pattern_modified = false
|
53
53
|
|
54
54
|
begin
|
55
|
-
wiki.search(search_pattern, nil,
|
55
|
+
wiki.search(search_pattern, nil, 15).each do |title|
|
56
56
|
pagedata = wiki.get(title)
|
57
57
|
if is_series_main_page?(pagedata)
|
58
58
|
series_site = title
|
data/lib/serienrenamer.rb
CHANGED
data/serienrenamer.gemspec
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require File.dirname(__FILE__) + '/test_helper.rb'
|
3
|
+
|
4
|
+
class TestPluginEpisodeIdentifier < Test::Unit::TestCase
|
5
|
+
@@files = {
|
6
|
+
'chuck' => 'chuck.312.hdtv-lol.avi',
|
7
|
+
'csiny' => 'sof-csi.ny.s07e01.avi',
|
8
|
+
'simps' => 'simpsons.s22e16.avi',
|
9
|
+
}
|
10
|
+
|
11
|
+
def setup
|
12
|
+
@plugin = Plugin::EpisodeIdentifier
|
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_information_extraction
|
22
|
+
|
23
|
+
simps = Serienrenamer::Episode.new(@@files['simps'])
|
24
|
+
data = @plugin.generate_episode_information(simps)[0]
|
25
|
+
simps.add_episode_information(data, true)
|
26
|
+
assert_equal("S22E16 - Episode 16.avi", simps.to_s)
|
27
|
+
|
28
|
+
chuck = Serienrenamer::Episode.new(@@files['chuck'])
|
29
|
+
data = @plugin.generate_episode_information(chuck)[0]
|
30
|
+
chuck.add_episode_information(data, true)
|
31
|
+
assert_equal("S03E12 - Episode 12.avi", chuck.to_s)
|
32
|
+
|
33
|
+
csiny = Serienrenamer::Episode.new(@@files['csiny'])
|
34
|
+
data = @plugin.generate_episode_information(csiny)[0]
|
35
|
+
csiny.add_episode_information(data, true)
|
36
|
+
assert_equal("S07E01 - Episode 1.avi", csiny.to_s)
|
37
|
+
end
|
38
|
+
end
|
@@ -82,20 +82,6 @@ class TestPluginWikipedia < Test::Unit::TestCase
|
|
82
82
|
assert_equal("Doppelgänger", seasons[1][6])
|
83
83
|
assert_equal("Unruhiges Blut", seasons[1][9])
|
84
84
|
|
85
|
-
data = wiki.get("Royal Pains")
|
86
|
-
seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
87
|
-
|
88
|
-
assert_equal("Auch Reiche sind nur Menschen", seasons[1][1])
|
89
|
-
assert_equal("Krank vor Liebe", seasons[2][2])
|
90
|
-
assert_equal("Mich trifft der Blitz", seasons[2][16])
|
91
|
-
|
92
|
-
data = wiki.get("Flashpoint – Das Spezialkommando")
|
93
|
-
seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
94
|
-
|
95
|
-
assert_equal("Skorpion", seasons[1][1])
|
96
|
-
assert_equal("Die Festung", seasons[2][2])
|
97
|
-
assert_equal("Der Beschützer", seasons[2][16])
|
98
|
-
|
99
85
|
data = wiki.get("Dr. Dani Santino – Spiel des Lebens")
|
100
86
|
seasons = Plugin::Wikipedia.parse_inarticle_episodelist_page_data(data)
|
101
87
|
|
@@ -115,11 +101,6 @@ class TestPluginWikipedia < Test::Unit::TestCase
|
|
115
101
|
def test_episode_information_generation
|
116
102
|
|
117
103
|
VCR.use_cassette("wiki_#{method_name}") do
|
118
|
-
flpo = Serienrenamer::Episode.new(@@files['flpo'])
|
119
|
-
data = Plugin::Wikipedia.generate_episode_information(flpo)[0]
|
120
|
-
flpo.add_episode_information(data, false) if data
|
121
|
-
assert_equal("S04E04 - Getrübte Erinnerungen.avi", flpo.to_s)
|
122
|
-
|
123
104
|
two = Serienrenamer::Episode.new(@@files['two'])
|
124
105
|
data = Plugin::Wikipedia.generate_episode_information(two)[0]
|
125
106
|
two.add_episode_information(data, false) if data
|
@@ -187,7 +168,7 @@ class TestPluginWikipedia < Test::Unit::TestCase
|
|
187
168
|
|
188
169
|
assert_equal(false, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("Bones")))
|
189
170
|
assert_equal(true, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("The Glades")))
|
190
|
-
assert_equal(
|
171
|
+
assert_equal(false, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("Royal Pains")))
|
191
172
|
end
|
192
173
|
|
193
174
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serienrenamer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: wlapi
|
@@ -101,11 +101,13 @@ extensions: []
|
|
101
101
|
extra_rdoc_files: []
|
102
102
|
files:
|
103
103
|
- .gitignore
|
104
|
+
- .travis.yml
|
104
105
|
- Gemfile
|
105
106
|
- README.rdoc
|
106
107
|
- Rakefile
|
107
108
|
- bin/serienrenamer
|
108
109
|
- lib/plugin.rb
|
110
|
+
- lib/plugin/episode_identifier.rb
|
109
111
|
- lib/plugin/serienjunkies_de.rb
|
110
112
|
- lib/plugin/serienjunkies_feed.rb
|
111
113
|
- lib/plugin/serienjunkies_org.rb
|
@@ -114,11 +116,13 @@ files:
|
|
114
116
|
- lib/serienrenamer.rb
|
115
117
|
- lib/serienrenamer/episode.rb
|
116
118
|
- lib/serienrenamer/information_store.rb
|
119
|
+
- lib/serienrenamer/version.rb
|
117
120
|
- serienrenamer.gemspec
|
118
121
|
- test/serienjunkies_feed_sample.xml
|
119
122
|
- test/test_episode.rb
|
120
123
|
- test/test_helper.rb
|
121
124
|
- test/test_information_store.rb
|
125
|
+
- test/test_plugin_episode_identifier.rb
|
122
126
|
- test/test_plugin_serienjunkies_de.rb
|
123
127
|
- test/test_plugin_serienjunkies_feed.rb
|
124
128
|
- test/test_plugin_textfile.rb
|
@@ -136,12 +140,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
140
|
- - ! '>='
|
137
141
|
- !ruby/object:Gem::Version
|
138
142
|
version: '0'
|
143
|
+
segments:
|
144
|
+
- 0
|
145
|
+
hash: -3488055912419224280
|
139
146
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
147
|
none: false
|
141
148
|
requirements:
|
142
149
|
- - ! '>='
|
143
150
|
- !ruby/object:Gem::Version
|
144
151
|
version: '0'
|
152
|
+
segments:
|
153
|
+
- 0
|
154
|
+
hash: -3488055912419224280
|
145
155
|
requirements: []
|
146
156
|
rubyforge_project:
|
147
157
|
rubygems_version: 1.8.24
|
@@ -154,9 +164,9 @@ test_files:
|
|
154
164
|
- test/test_episode.rb
|
155
165
|
- test/test_helper.rb
|
156
166
|
- test/test_information_store.rb
|
167
|
+
- test/test_plugin_episode_identifier.rb
|
157
168
|
- test/test_plugin_serienjunkies_de.rb
|
158
169
|
- test/test_plugin_serienjunkies_feed.rb
|
159
170
|
- test/test_plugin_textfile.rb
|
160
171
|
- test/test_plugin_wikipedia.rb
|
161
172
|
- test/test_serienjunkies_org.rb
|
162
|
-
has_rdoc:
|