kindai 1.0.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.
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
+
4
+ describe Kindai::Searcher do
5
+ before do
6
+ Kindai::Util.logger.level = Logger::DEBUG
7
+ @searcher = Kindai::Searcher.search('我輩は')
8
+ end
9
+
10
+ it 'is Searcher' do
11
+ @searcher.should be_a_instance_of Kindai::Searcher
12
+ end
13
+
14
+ it 'has length' do
15
+ @searcher.length.should satisfy{|length| length > 10}
16
+ end
17
+
18
+ it 'has iterator' do
19
+ count = 0
20
+ @searcher.each{|book|
21
+ count += 1
22
+ book.should be_a_instance_of Kindai::Book
23
+ }
24
+ count.should == @searcher.length
25
+ end
26
+
27
+ end
28
+
29
+ describe Kindai::Searcher, 'with series' do
30
+ before do
31
+ Kindai::Util.logger.level = Logger::DEBUG
32
+ @searcher = Kindai::Searcher.search('講談日露戦争記')
33
+ end
34
+
35
+ it 'is Searcher' do
36
+ @searcher.should be_a_instance_of Kindai::Searcher
37
+ end
38
+
39
+ it 'has length' do
40
+ @searcher.length.should == 12
41
+ end
42
+ end
@@ -0,0 +1,32 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'kindai'
5
+ require 'tmpdir'
6
+
7
+ module Kindai::Util
8
+ def self.fetch_uri(uri, rich = false)
9
+ logger.debug "fetch uri #{uri}"
10
+ uri = URI.parse(uri) unless uri.kind_of? URI
11
+
12
+ cache_directory = File.join(Dir.tmpdir, 'kindairb-cache')
13
+ Dir.mkdir(cache_directory) unless File.directory?(cache_directory)
14
+
15
+ cache_file = File.join(cache_directory, Digest::SHA1.hexdigest(uri.to_s))
16
+ unless File.exists? cache_file
17
+ logger.debug "fetch cache #{uri}"
18
+ open(cache_file, 'w') {|f|
19
+ f.write Marshal.dump(uri.read)
20
+ }
21
+ end
22
+
23
+ Marshal.load open(cache_file).read
24
+ end
25
+
26
+ # require 'logger'
27
+ # require "stringio"
28
+ # def self.logger
29
+ # Logger.new(StringIO.new)
30
+ # end
31
+ end
32
+
@@ -0,0 +1,44 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
+
4
+ describe Kindai::SpreadDownloader do
5
+ before do
6
+ @book = Kindai::Book.new_from_permalink('http://kindai.ndl.go.jp/info:ndljp/pid/922693')
7
+ @spread = @book.spreads[10]
8
+ @downloader = Kindai::SpreadDownloader.new_from_spread(@spread)
9
+ end
10
+
11
+ it 'has spread' do
12
+ @downloader.spread.should == @spread
13
+ end
14
+
15
+ it 'has retry_count' do
16
+ @downloader.retry_count.should == 30
17
+ @downloader.retry_count = 50
18
+ @downloader.retry_count.should == 50
19
+ end
20
+
21
+ it 'has spread path' do
22
+ @downloader.book_path = "/path/to/book"
23
+ @downloader.spread_path.should == "/path/to/book/original/011.jpg"
24
+ end
25
+
26
+ it 'can download spread' do
27
+ book_path = File.join(ENV['TMPDIR'] || ENV['TMP'] || ENV['TEMP'] || '/tmp', rand.to_s)
28
+ Dir.mkdir(book_path)
29
+ @downloader.book_path = book_path
30
+
31
+ @downloader.has_file?.should be_false
32
+ @downloader.download.should be_true
33
+ @downloader.has_file?.should be_true
34
+ @downloader.download.should be_false
35
+
36
+ @downloader.delete.should be_true
37
+ FileUtils.rm_r book_path
38
+
39
+ @downloader.has_file?.should be_false
40
+ @downloader.delete.should be_false
41
+ end
42
+
43
+
44
+ end
@@ -0,0 +1,26 @@
1
+ # -*- coding: utf-8 -*-
2
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
+
4
+ describe Kindai::Spread do
5
+ before do
6
+ @book = Kindai::Book.new_from_permalink('http://kindai.ndl.go.jp/info:ndljp/pid/922693')
7
+ @spread = @book.spreads[4]
8
+ end
9
+
10
+ it 'has spread number' do
11
+ @spread.spread_number.should == 5
12
+ end
13
+
14
+ it 'has book' do
15
+ @spread.book.should == @book
16
+ end
17
+
18
+ it 'has uri' do
19
+ @spread.uri.should == "http://kindai.da.ndl.go.jp/scrpt/ndlimageviewer-rgc.aspx?pid=info%3Andljp%2Fpid%2F922693&jp=42016454&vol=10010&koma=5&vs=10000,10000,0,0,0,0,0,0"
20
+ end
21
+
22
+ it 'has image_uri' do
23
+ @spread.image_uri.should match /http:\/\/kindai.da.ndl.go.jp\/JPEG\/\w+\.jpg/
24
+ end
25
+
26
+ end
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kindai
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - hitode909
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-02-11 00:00:00.000000000 +09:00
13
+ default_executable: kindai.rb
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: nokogiri
17
+ requirement: &2153137920 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2153137920
26
+ - !ruby/object:Gem::Dependency
27
+ name: rmagick
28
+ requirement: &2153137020 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2153137020
37
+ - !ruby/object:Gem::Dependency
38
+ name: zipruby
39
+ requirement: &2153136000 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *2153136000
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ requirement: &2153135320 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 2.3.0
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *2153135320
59
+ - !ruby/object:Gem::Dependency
60
+ name: bundler
61
+ requirement: &2153134380 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 1.0.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *2153134380
70
+ - !ruby/object:Gem::Dependency
71
+ name: jeweler
72
+ requirement: &2153133460 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.5.2
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *2153133460
81
+ - !ruby/object:Gem::Dependency
82
+ name: rcov
83
+ requirement: &2153128480 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *2153128480
92
+ - !ruby/object:Gem::Dependency
93
+ name: nokogiri
94
+ requirement: &2153127800 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: 1.4.0
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: *2153127800
103
+ - !ruby/object:Gem::Dependency
104
+ name: zipruby
105
+ requirement: &2153127100 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.3.6
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: *2153127100
114
+ - !ruby/object:Gem::Dependency
115
+ name: rmagick
116
+ requirement: &2153126040 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: 2.13.1
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: *2153126040
125
+ description: kindai.rb is kindai digital library downloader.
126
+ email: hitode909@gmail.com
127
+ executables:
128
+ - kindai.rb
129
+ extensions: []
130
+ extra_rdoc_files:
131
+ - LICENSE.txt
132
+ - README.rdoc
133
+ files:
134
+ - Gemfile
135
+ - Gemfile.lock
136
+ - LICENSE.txt
137
+ - README.rdoc
138
+ - Rakefile
139
+ - VERSION
140
+ - bin/kindai.rb
141
+ - kindai.gemspec
142
+ - kindai.rb
143
+ - lib/kindai.rb
144
+ - lib/kindai/book.rb
145
+ - lib/kindai/book_downloader.rb
146
+ - lib/kindai/cli.rb
147
+ - lib/kindai/interface.rb
148
+ - lib/kindai/publisher.rb
149
+ - lib/kindai/searcher.rb
150
+ - lib/kindai/spread.rb
151
+ - lib/kindai/spread_downloader.rb
152
+ - lib/kindai/util.rb
153
+ - publish.rb
154
+ - spec/book_downloader_spec.rb
155
+ - spec/book_spec.rb
156
+ - spec/searcher_spec.rb
157
+ - spec/spec_helper.rb
158
+ - spec/spread_downloader_spec.rb
159
+ - spec/spread_spec.rb
160
+ has_rdoc: true
161
+ homepage: http://github.com/hitode909/kindairb
162
+ licenses:
163
+ - MIT
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ segments:
175
+ - 0
176
+ hash: -4289296820040361605
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ requirements: []
184
+ rubyforge_project:
185
+ rubygems_version: 1.5.2
186
+ signing_key:
187
+ specification_version: 3
188
+ summary: kindai digital library downloader
189
+ test_files:
190
+ - spec/book_downloader_spec.rb
191
+ - spec/book_spec.rb
192
+ - spec/searcher_spec.rb
193
+ - spec/spec_helper.rb
194
+ - spec/spread_downloader_spec.rb
195
+ - spec/spread_spec.rb