royw-dvdprofiler2xbmc 0.0.19 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
-