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 +5 -3
- data/VERSION.yml +2 -2
- data/lib/dvdprofiler2xbmc.rb +6 -12
- data/spec/spec_helper.rb +2 -2
- metadata +25 -13
- data/lib/file_extensions.rb +0 -18
- data/lib/kernel_extensions.rb +0 -32
- data/lib/module_extensions.rb +0 -27
- data/lib/numeric_extensions.rb +0 -17
- data/lib/object_extensions.rb +0 -24
- data/lib/string_extensions.rb +0 -40
- data/spec/cache_extensions.rb +0 -53
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-
|
21
|
-
gem.add_dependency('royw-
|
22
|
-
gem.add_dependency('royw-
|
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
data/lib/dvdprofiler2xbmc.rb
CHANGED
@@ -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 '
|
12
|
-
require 'log4r'
|
15
|
+
require 'roys_extensions'
|
13
16
|
|
14
|
-
|
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 '
|
18
|
-
|
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
|
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-
|
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.
|
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.
|
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.
|
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
|
data/lib/file_extensions.rb
DELETED
@@ -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
|
data/lib/kernel_extensions.rb
DELETED
@@ -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
|
-
|
data/lib/module_extensions.rb
DELETED
@@ -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
|
-
|
data/lib/numeric_extensions.rb
DELETED
@@ -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
|
-
|
data/lib/object_extensions.rb
DELETED
@@ -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
|
data/lib/string_extensions.rb
DELETED
@@ -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
|
-
|
data/spec/cache_extensions.rb
DELETED
@@ -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
|
-
|