serienrenamer 0.0.11 → 0.0.12

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.
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: