kindai 1.0.0

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