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 ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+
data/Gemfile CHANGED
@@ -2,6 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem "vcr"
4
4
  gem "fakeweb"
5
+ gem "rake"
5
6
 
6
7
  # Specify your gem's dependencies in testapp.gemspec
7
8
  gemspec
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
@@ -2,6 +2,8 @@
2
2
  require 'bundler/gem_tasks'
3
3
  require 'rake/testtask'
4
4
 
5
+ task :default => [:test]
6
+
5
7
  Rake::TestTask.new do |t|
6
8
  t.libs << "test"
7
9
  t.test_files = FileList['test/test*.rb']
@@ -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
@@ -52,7 +52,7 @@ module Plugin
52
52
  search_pattern_modified = false
53
53
 
54
54
  begin
55
- wiki.search(search_pattern, nil, 50).each do |title|
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
@@ -3,10 +3,10 @@ $:.unshift(File.dirname(__FILE__)) unless
3
3
 
4
4
 
5
5
  module Serienrenamer
6
- VERSION = '0.0.11'
7
6
 
8
7
  require 'serienrenamer/episode.rb'
9
8
  require 'serienrenamer/information_store.rb'
9
+ require 'serienrenamer/version.rb'
10
10
 
11
11
  class Pluginbase
12
12
 
@@ -4,6 +4,13 @@ require 'fileutils'
4
4
  require 'wlapi'
5
5
  require 'digest/md5'
6
6
 
7
+ # suppress debug messages from wlapi which uses Savon
8
+ Savon.configure do |config|
9
+ config.log = false
10
+ end
11
+ HTTPI.log = false
12
+
13
+
7
14
  module Serienrenamer
8
15
 
9
16
  class Episode
@@ -0,0 +1,3 @@
1
+ module Serienrenamer
2
+ VERSION = '0.0.12'
3
+ end
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/serienrenamer', __FILE__)
2
+ require File.expand_path('../lib/serienrenamer/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Philipp Böhm"]
@@ -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(true, Plugin::Wikipedia.contains_inarticle_episode_list?(wiki.get("Royal Pains")))
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.11
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-09-25 00:00:00.000000000 Z
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: