royw-dvdprofiler2xbmc 0.0.19 → 0.1.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.
data/Rakefile CHANGED
@@ -17,9 +17,11 @@ begin
17
17
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
18
  gem.add_dependency('activesupport','>= 2.0.2')
19
19
  gem.add_dependency('xml-simple','>= 1.0.12')
20
- gem.add_dependency('royw-imdb','>= 0.1.2')
21
- gem.add_dependency('royw-tmdb','>= 0.1.5')
22
- gem.add_dependency('royw-dvdprofiler_collection','>= 0.1.2')
20
+ gem.add_dependency('royw-read_page_cache','>= 0.0.2')
21
+ gem.add_dependency('royw-roys_extensions','>= 0.0.2')
22
+ gem.add_dependency('royw-imdb','>= 0.1.3')
23
+ gem.add_dependency('royw-tmdb','>= 0.1.6')
24
+ gem.add_dependency('royw-dvdprofiler_collection','>= 0.1.3')
23
25
  gem.add_dependency('log4r','>= 1.0.5')
24
26
  gem.add_dependency('commandline','>= 0.7.10')
25
27
  gem.add_dependency('mash','>= 0.0.3')
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 19
2
+ :patch: 0
3
3
  :major: 0
4
- :minor: 0
4
+ :minor: 1
@@ -5,18 +5,16 @@ require 'rubygems'
5
5
  require 'yaml'
6
6
  require 'xmlsimple'
7
7
  require 'ftools'
8
+ require 'mash'
9
+ require 'log4r'
10
+
11
+ # royw gems on github
8
12
  require 'imdb'
9
13
  require 'tmdb'
10
14
  require 'dvdprofiler_collection'
11
- require 'mash'
12
- require 'log4r'
15
+ require 'roys_extensions'
13
16
 
14
- require 'module_extensions'
15
- require 'kernel_extensions'
16
- require 'file_extensions'
17
- require 'object_extensions'
18
- require 'string_extensions'
19
- require 'numeric_extensions'
17
+ # local files
20
18
  require 'dvdprofiler2xbmc/app_config'
21
19
  require 'dvdprofiler2xbmc/controllers/app'
22
20
  require 'dvdprofiler2xbmc/controllers/fanart_controller'
@@ -31,7 +29,3 @@ require 'dvdprofiler2xbmc/models/xbmc_info'
31
29
 
32
30
  TMDB_API_KEY = '7a2f6eb9b6aa01651000f0a9324db835'
33
31
 
34
-
35
- # module Dvdprofiler2xbmc
36
- # VERSION = '0.0.8'
37
- # end
data/spec/spec_helper.rb CHANGED
@@ -14,8 +14,8 @@ require 'dvdprofiler2xbmc'
14
14
  TMPDIR = File.join(File.dirname(__FILE__), '../tmp')
15
15
  SAMPLES_DIR = File.join(File.dirname(__FILE__), 'samples')
16
16
 
17
- require 'cache_extensions'
18
- CacheExtensions.attach_to_read_page_classes(SAMPLES_DIR)
17
+ require 'read_page_cache'
18
+ ReadPageCache.attach_to_classes(SAMPLES_DIR)
19
19
 
20
20
  Signal.trap("INT") { exit(-1) }
21
21
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: royw-dvdprofiler2xbmc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.19
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roy Wright
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-20 00:00:00 -07:00
12
+ date: 2009-04-21 00:00:00 -07:00
13
13
  default_executable: dvdprofiler2xbmc
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -32,6 +32,26 @@ dependencies:
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.0.12
34
34
  version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: royw-read_page_cache
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.0.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: royw-roys_extensions
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.0.2
54
+ version:
35
55
  - !ruby/object:Gem::Dependency
36
56
  name: royw-imdb
37
57
  type: :runtime
@@ -40,7 +60,7 @@ dependencies:
40
60
  requirements:
41
61
  - - ">="
42
62
  - !ruby/object:Gem::Version
43
- version: 0.1.2
63
+ version: 0.1.3
44
64
  version:
45
65
  - !ruby/object:Gem::Dependency
46
66
  name: royw-tmdb
@@ -50,7 +70,7 @@ dependencies:
50
70
  requirements:
51
71
  - - ">="
52
72
  - !ruby/object:Gem::Version
53
- version: 0.1.5
73
+ version: 0.1.6
54
74
  version:
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: royw-dvdprofiler_collection
@@ -60,7 +80,7 @@ dependencies:
60
80
  requirements:
61
81
  - - ">="
62
82
  - !ruby/object:Gem::Version
63
- version: 0.1.2
83
+ version: 0.1.3
64
84
  version:
65
85
  - !ruby/object:Gem::Dependency
66
86
  name: log4r
@@ -133,14 +153,7 @@ files:
133
153
  - lib/dvdprofiler2xbmc/open_cache_extension.rb
134
154
  - lib/dvdprofiler2xbmc/views/cli.rb
135
155
  - lib/dvdprofiler2xbmc/views/config_editor.rb
136
- - lib/file_extensions.rb
137
- - lib/kernel_extensions.rb
138
- - lib/module_extensions.rb
139
- - lib/numeric_extensions.rb
140
- - lib/object_extensions.rb
141
- - lib/string_extensions.rb
142
156
  - spec/app_spec.rb
143
- - spec/cache_extensions.rb
144
157
  - spec/config_editor_spec.rb
145
158
  - spec/dvdprofiler2xbmc_spec.rb
146
159
  - spec/fanart_controller_spec.rb
@@ -220,7 +233,6 @@ signing_key:
220
233
  specification_version: 2
221
234
  summary: TODO
222
235
  test_files:
223
- - spec/cache_extensions.rb
224
236
  - spec/spec_helper.rb
225
237
  - spec/app_spec.rb
226
238
  - spec/config_editor_spec.rb
@@ -1,18 +0,0 @@
1
- # == Synopsis
2
- # add a mkdirs method to the File class
3
- class File
4
- class << self
5
- my_extension("mkdirs") do
6
- ##
7
- # make directories including any missing in the path
8
- #
9
- # @param [String] dirspec the path to make sure exists
10
- def File.mkdirs(dirspec)
11
- unless File.exists?(dirspec)
12
- mkdirs(File.dirname(dirspec))
13
- Dir.mkdir(dirspec)
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,32 +0,0 @@
1
- # # == Synopsis
2
- # # add a mkdirs method to the File class
3
- # class File
4
- # ##
5
- # # make directories including any missing in the path
6
- # #
7
- # # @param [String] dirspec the path to make sure exists
8
- # def File.mkdirs(dirspec)
9
- # unless File.exists?(dirspec)
10
- # mkdirs(File.dirname(dirspec))
11
- # Dir.mkdir(dirspec)
12
- # end
13
- # end
14
- # end
15
-
16
- # == Synopsis
17
- # add a timer method to the Kernel
18
- module Kernel
19
-
20
- my_extension("timer") do
21
- # == Synopsis
22
- # a simple elapse time for the give block
23
- # == Usage
24
- # elapse_seconds = timer {...}
25
- def timer
26
- start_time = Time.now
27
- yield
28
- Time.now - start_time
29
- end
30
- end
31
- end
32
-
@@ -1,27 +0,0 @@
1
- ######################################################################
2
- # my extensions to Module. (taken from rake, named changed to not clash
3
- # when rake is used for this rails project.
4
- #
5
- class Module
6
- # Check for an existing method in the current class before extending. IF
7
- # the method already exists, then a warning is printed and the extension is
8
- # not added. Otherwise the block is yielded and any definitions in the
9
- # block will take effect.
10
- #
11
- # Usage:
12
- #
13
- # class String
14
- # rake_extension("xyz") do
15
- # def xyz
16
- # ...
17
- # end
18
- # end
19
- # end
20
- #
21
- def my_extension(method)
22
- unless instance_methods.include?(method.to_s) || instance_methods.include?(method.to_sym)
23
- yield
24
- end
25
- end
26
- end # module Module
27
-
@@ -1,17 +0,0 @@
1
- # == Synopsis
2
- # add an elapse_time_s method to Numeric
3
- class Numeric
4
- my_extension("elapsed_time_s") do
5
- # return String formated as "HH:MM:SS"
6
- def elapsed_time_s
7
- seconds = self
8
- hours = minutes = 0
9
- hours = seconds.div 3600
10
- seconds = seconds - (hours * 3600)
11
- minutes = seconds.div 60
12
- seconds = seconds - (minutes * 60)
13
- sprintf("%2.2d:%2.2d:%2.2d", hours, minutes, seconds)
14
- end
15
- end
16
- end
17
-
@@ -1,24 +0,0 @@
1
- # == Synopsis
2
- # add a blank? method to all Objects
3
- class Object
4
- my_extension("blank?") do
5
- # return asserted if object is nil or empty
6
- def blank?
7
- result = nil?
8
- unless result
9
- if respond_to? 'empty?'
10
- if respond_to? 'strip'
11
- result = strip.empty?
12
- else
13
- if respond_to? 'compact'
14
- result = compact.empty?
15
- else
16
- result = empty?
17
- end
18
- end
19
- end
20
- end
21
- result
22
- end
23
- end
24
- end
@@ -1,40 +0,0 @@
1
- require 'cgi'
2
- require 'iconv'
3
-
4
- class String
5
- my_extension("unescape_html") do
6
- def unescape_html
7
- Iconv.conv("UTF-8", 'ISO-8859-1', CGI::unescapeHTML(self))
8
- end
9
- end
10
-
11
- # this handles unicode characters by converting each byte to "%XX"
12
- # where XX is the hex value
13
- my_extension("escape_unicode") do
14
- def escape_unicode
15
- self.each_byte.collect{|c| c.to_i > 127 ? "%#{c.to_i.to_s(16)}" : c.chr}.join('')
16
- end
17
- end
18
-
19
- my_extension("strip_tags") do
20
- def strip_tags
21
- gsub(/<\/?[^>]*>/, "")
22
- end
23
- end
24
-
25
- my_extension("ext") do
26
- # Replace the file extension with +newext+. If there is no extenson on
27
- # the string, append the new extension to the end. If the new extension
28
- # is not given, or is the empty string, remove any existing extension.
29
- #
30
- # +ext+ is a user added method for the String class.
31
- def ext(newext='')
32
- return self.dup if ['.', '..'].include? self
33
- if newext != ''
34
- newext = (newext =~ /^\./) ? newext : ("." + newext)
35
- end
36
- dup.sub!(%r(([^/\\])\.[^./\\]*$)) { $1 + newext } || self + newext
37
- end
38
- end
39
- end
40
-
@@ -1,53 +0,0 @@
1
-
2
- # override the classes' read_page method and replace with one
3
- # that will cache pages in spec/samples/{url}
4
-
5
- module CacheExtensions
6
- # == Synopsis
7
- # Attach the read_page and cache_file methods to the given
8
- # class (cls) and use the given directory for the cache files
9
- def self.attach_to(cls, directory='/tmp')
10
-
11
- # define the read_page(page) method on the given class: cls
12
- cls.send('define_method', "read_page") do |page|
13
- data = nil
14
- filespec = page.gsub(/^http:\//, directory).gsub(/\/$/, '.html')
15
- if File.exist?(filespec)
16
- data = open(filespec).read
17
- else
18
- data = open(page).read
19
- cache_file(page, data)
20
- end
21
- data
22
- end
23
-
24
- # define the cache_file(page, data) method on the given class: cls
25
- cls.send('define_method', "cache_file") do |page, data|
26
- begin
27
- filespec = page.gsub(/^http:\//, directory).gsub(/\/$/, '.html')
28
- unless File.exist?(filespec)
29
- puts "caching #{filespec}"
30
- File.mkdirs(File.dirname(filespec))
31
- File.open(filespec, 'w') { |f| f.puts data }
32
- end
33
- rescue Exception => eMsg
34
- puts eMsg.to_s
35
- end
36
- end
37
- end
38
-
39
- # == Synopsis
40
- # Find all classes that have a read_page instance method and
41
- # then overwrite that read_page method with one that handles
42
- # the caching. Use the given directory for the cache files.
43
- def self.attach_to_read_page_classes(directory='/tmp')
44
- ObjectSpace.each_object(Class) do |cls|
45
- if(cls.public_instance_methods(false).include?("read_page") ||
46
- cls.protected_instance_methods(false).include?("read_page") ||
47
- cls.private_instance_methods(false).include?("read_page"))
48
- CacheExtensions.attach_to(cls, directory)
49
- end
50
- end
51
- end
52
- end
53
-