kindai 2.7.0 → 2.8.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8cf9e500aa2a37a7d5f47beb679c48a7d453f34a
4
- data.tar.gz: 3918213cea5033faddd958e39b3dbc6e438a5f0a
3
+ metadata.gz: a54936e0a98b3c7fb26c231f0edd5c54cb96902c
4
+ data.tar.gz: 7b58e03c66062af64918e186f2568d2d801930c8
5
5
  SHA512:
6
- metadata.gz: 17c2f6379ab404154c112fd9d134146641eb8b4b732ca54ad99156ad97df2842ae41706d8e0c26fd0ae710ebee84daed55a156f448b0331820b53400cf65466a
7
- data.tar.gz: a88dd14f6ece1e8c8f2e581bc40dc885f7681d06be0c427f2a863eb148651666fc54e201bb12012e21f06c37b3e6c859b1081d6035ab630fbdb51a367820f1d6
6
+ metadata.gz: ba93eedc3b58aae9a7e353d8eb7ca722aa8c486628b86815234af493f9fa18357c034c833398cef62fe64c1492dc7a9f12630a9fc2d12ac5d46e8c6c12d91e2a
7
+ data.tar.gz: 7b170249b7f5c2fb369e897ead0c085a9fa8529e19c6792a9b725efb898ad636e7a09a2efd29f35f7e785bbe58d7ca9e2278334a87c405788f662bb432b9822c
data/.travis.yml CHANGED
@@ -1,8 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
4
- - 2.1.4
5
- - 2.1.3
6
- - 2.1.2
7
- - 2.1.1
3
+ - 2.2.4
8
4
  - 2.0.0
data/Gemfile CHANGED
@@ -7,7 +7,6 @@ gem 'json', '>= 1.4'
7
7
 
8
8
  group :development do
9
9
  gem "rspec", ">= 2.13.3"
10
- gem "bundler", ">= 1.6.2"
11
- gem "jeweler", ">= 2.0.1"
10
+ gem "bundler", ">= 1.13.6"
11
+ gem "jeweler", ">= 2.1.2"
12
12
  end
13
-
data/Gemfile.lock CHANGED
@@ -1,14 +1,15 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.6)
4
+ addressable (2.5.0)
5
+ public_suffix (~> 2.0, >= 2.0.2)
5
6
  builder (3.2.2)
6
7
  descendants_tracker (0.0.4)
7
8
  thread_safe (~> 0.3, >= 0.3.1)
8
9
  diff-lcs (1.2.5)
9
- faraday (0.9.0)
10
+ faraday (0.9.2)
10
11
  multipart-post (>= 1.2, < 3)
11
- git (1.2.6)
12
+ git (1.3.0)
12
13
  github_api (0.11.3)
13
14
  addressable (~> 2.3)
14
15
  descendants_tracker (~> 0.0.1)
@@ -17,36 +18,36 @@ GEM
17
18
  multi_json (>= 1.7.5, < 2.0)
18
19
  nokogiri (~> 1.6.0)
19
20
  oauth2
20
- hashie (2.1.1)
21
- highline (1.6.21)
22
- jeweler (2.0.1)
21
+ hashie (3.4.6)
22
+ highline (1.7.8)
23
+ jeweler (2.1.2)
23
24
  builder
24
25
  bundler (>= 1.0)
25
26
  git (>= 1.2.5)
26
- github_api
27
+ github_api (~> 0.11.0)
27
28
  highline (>= 1.6.15)
28
29
  nokogiri (>= 1.5.10)
29
30
  rake
30
31
  rdoc
32
+ semver
31
33
  json (1.8.1)
32
- jwt (0.1.13)
33
- multi_json (>= 1.5)
34
+ jwt (1.5.6)
34
35
  mini_portile (0.6.0)
35
- multi_json (1.10.0)
36
+ multi_json (1.12.1)
36
37
  multi_xml (0.5.5)
37
38
  multipart-post (2.0.0)
38
39
  nokogiri (1.6.2.1)
39
40
  mini_portile (= 0.6.0)
40
- oauth2 (0.9.3)
41
+ oauth2 (1.2.0)
41
42
  faraday (>= 0.8, < 0.10)
42
- jwt (~> 0.1.8)
43
+ jwt (~> 1.0)
43
44
  multi_json (~> 1.3)
44
45
  multi_xml (~> 0.5)
45
- rack (~> 1.2)
46
- rack (1.5.2)
47
- rake (10.3.2)
48
- rdoc (4.1.1)
49
- json (~> 1.4)
46
+ rack (>= 1.2, < 3)
47
+ public_suffix (2.0.3)
48
+ rack (2.0.1)
49
+ rake (11.3.0)
50
+ rdoc (5.0.0)
50
51
  rmagick (2.15.4)
51
52
  rspec (2.14.1)
52
53
  rspec-core (~> 2.14.0)
@@ -56,15 +57,16 @@ GEM
56
57
  rspec-expectations (2.14.5)
57
58
  diff-lcs (>= 1.1.3, < 2.0)
58
59
  rspec-mocks (2.14.6)
59
- thread_safe (0.3.3)
60
+ semver (1.0.1)
61
+ thread_safe (0.3.5)
60
62
  zipruby (0.3.6)
61
63
 
62
64
  PLATFORMS
63
65
  ruby
64
66
 
65
67
  DEPENDENCIES
66
- bundler (>= 1.6.2)
67
- jeweler (>= 2.0.1)
68
+ bundler (>= 1.13.6)
69
+ jeweler (>= 2.1.2)
68
70
  json (>= 1.4)
69
71
  nokogiri
70
72
  rmagick (>= 2.13.3)
@@ -72,4 +74,4 @@ DEPENDENCIES
72
74
  zipruby
73
75
 
74
76
  BUNDLED WITH
75
- 1.10.6
77
+ 1.13.6
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # kindai.rb [![Build Status](https://travis-ci.org/hitode909/kindairb.png?branch=master)](https://travis-ci.org/hitode909/kindairb)
2
2
 
3
- ## 概要
3
+ ## 近デジダウンローダー
4
4
 
5
- 近代デジタルライブラリーから画像をダウンロードします.
5
+ 国立国会図書館デジタルコレクションから画像をダウンロードします.
6
6
 
7
7
  ## インストール
8
8
 
@@ -19,7 +19,7 @@ gemをインストールすると,kindai.rbというコマンドがインス
19
19
  起動時の引数に,ダウンロードしたい本の URL を指定します.スペース区切りで複数指定できます.
20
20
 
21
21
  ```
22
- kindai.rb http://kindai.ndl.go.jp/info:ndljp/pid/922693
22
+ kindai.rb http://dl.ndl.go.jp/info:ndljp/pid/922693
23
23
  ```
24
24
 
25
25
  URL の代わりに検索ワードを指定すると,ヒットした本をまとめてダウンロードします.AND検索もできます.
@@ -32,7 +32,7 @@ kindai.rb "松茸 調理"
32
32
  --output オプションで,保存先を指定できます.指定したディレクトリの下に,書名のディレクトリができます.
33
33
 
34
34
  ```
35
- kindai.rb http://kindai.ndl.go.jp/info:ndljp/pid/922693 --output ~/Documents/
35
+ kindai.rb http://dl.ndl.go.jp/info:ndljp/pid/922693 --output ~/Documents/
36
36
  ```
37
37
 
38
38
  ## 本の加工(自動)
@@ -91,6 +91,9 @@ kindai.rb publish --position 2905x2510+270+190 "~/Documents/正義熱血社 -
91
91
  brew install ruby imagemagick
92
92
  ```
93
93
 
94
+ ## 歴史
95
+
96
+ 国立国会図書館デジタルコレクションは,その昔,近代デジタルライブラリーでした.
94
97
 
95
98
  ## Copyright
96
99
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.7.0
1
+ 2.8.0
data/kindai.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: kindai 2.7.0 ruby lib
5
+ # stub: kindai 2.8.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "kindai"
9
- s.version = "2.7.0"
9
+ s.version = "2.8.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["hitode909"]
14
- s.date = "2016-02-15"
14
+ s.date = "2016-11-06"
15
15
  s.description = "kindai.rb is kindai digital library downloader."
16
16
  s.email = "hitode909@gmail.com"
17
17
  s.executables = ["kindai.rb"]
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
53
53
  s.homepage = "http://github.com/hitode909/kindairb"
54
54
  s.licenses = ["MIT"]
55
55
  s.rdoc_options = ["--main", "README.rdoc", "--exclude", "spec"]
56
- s.rubygems_version = "2.2.2"
56
+ s.rubygems_version = "2.4.5.1"
57
57
  s.summary = "kindai digital library downloader"
58
58
 
59
59
  if s.respond_to? :specification_version then
@@ -65,16 +65,16 @@ Gem::Specification.new do |s|
65
65
  s.add_runtime_dependency(%q<zipruby>, [">= 0"])
66
66
  s.add_runtime_dependency(%q<json>, [">= 1.4"])
67
67
  s.add_development_dependency(%q<rspec>, [">= 2.13.3"])
68
- s.add_development_dependency(%q<bundler>, [">= 1.6.2"])
69
- s.add_development_dependency(%q<jeweler>, [">= 2.0.1"])
68
+ s.add_development_dependency(%q<bundler>, [">= 1.13.6"])
69
+ s.add_development_dependency(%q<jeweler>, [">= 2.1.2"])
70
70
  else
71
71
  s.add_dependency(%q<nokogiri>, [">= 0"])
72
72
  s.add_dependency(%q<rmagick>, [">= 2.13.3"])
73
73
  s.add_dependency(%q<zipruby>, [">= 0"])
74
74
  s.add_dependency(%q<json>, [">= 1.4"])
75
75
  s.add_dependency(%q<rspec>, [">= 2.13.3"])
76
- s.add_dependency(%q<bundler>, [">= 1.6.2"])
77
- s.add_dependency(%q<jeweler>, [">= 2.0.1"])
76
+ s.add_dependency(%q<bundler>, [">= 1.13.6"])
77
+ s.add_dependency(%q<jeweler>, [">= 2.1.2"])
78
78
  end
79
79
  else
80
80
  s.add_dependency(%q<nokogiri>, [">= 0"])
@@ -82,8 +82,8 @@ Gem::Specification.new do |s|
82
82
  s.add_dependency(%q<zipruby>, [">= 0"])
83
83
  s.add_dependency(%q<json>, [">= 1.4"])
84
84
  s.add_dependency(%q<rspec>, [">= 2.13.3"])
85
- s.add_dependency(%q<bundler>, [">= 1.6.2"])
86
- s.add_dependency(%q<jeweler>, [">= 2.0.1"])
85
+ s.add_dependency(%q<bundler>, [">= 1.13.6"])
86
+ s.add_dependency(%q<jeweler>, [">= 2.1.2"])
87
87
  end
88
88
  end
89
89
 
data/lib/kindai/book.rb CHANGED
@@ -7,7 +7,7 @@ module Kindai
7
7
  raise "not info:ndljp: #{permalink_uri}" unless permalink_uri.match(/info\:ndljp/)
8
8
  me = new
9
9
  me.instance_eval {
10
- @permalink_uri = permalink_uri
10
+ @permalink_uri = Kindai::Util.normalize_permalink_uri permalink_uri
11
11
  }
12
12
  return me
13
13
  end
@@ -37,14 +37,14 @@ module Kindai
37
37
  def result_for keyword, page = 1
38
38
  page = Nokogiri Kindai::Util.fetch_uri(uri_for(keyword, page))
39
39
  page.search('a.item-link').map{ |item|
40
- 'http://kindai.ndl.go.jp' + item.attr('href')
40
+ 'http://dl.ndl.go.jp' + item.attr('href')
41
41
  }
42
42
  end
43
43
 
44
44
  def uri_for keyword, page = 1
45
45
  rows = 100
46
- params = { :SID => 'kindai', :searchWord => keyword, :pageNo => page, :rows => rows }
47
- root = URI.parse("http://kindai.ndl.go.jp/search/searchResult")
46
+ params = { :SID => 'kindai', :viewRestricted => 0, :searchWord => keyword, :pageNo => page, :rows => rows }
47
+ root = URI.parse("http://dl.ndl.go.jp/search/searchResult")
48
48
  query = '?' + Kindai::Util.expand_params(params)
49
49
  root + query
50
50
  end
data/lib/kindai/spread.rb CHANGED
@@ -22,7 +22,7 @@ module Kindai
22
22
  :contentNo => spread_number,
23
23
  :outputScale => 1,
24
24
  }
25
- "http://kindai.ndl.go.jp/view/jpegOutput?" + Kindai::Util.expand_params(params)
25
+ "http://dl.ndl.go.jp/view/jpegOutput?" + Kindai::Util.expand_params(params)
26
26
  end
27
27
 
28
28
  # protected
data/lib/kindai/util.rb CHANGED
@@ -5,6 +5,7 @@ require 'digest/sha1'
5
5
  require 'rmagick'
6
6
  require 'zipruby'
7
7
  require 'net/http'
8
+ require 'uri'
8
9
 
9
10
  module Kindai::Util
10
11
  def self.logger
@@ -93,6 +94,12 @@ module Kindai::Util
93
94
  Dir.chdir(from)
94
95
  end
95
96
 
97
+ def self.normalize_permalink_uri(uri_string)
98
+ uri = URI.parse(uri_string)
99
+ uri.host = 'dl.ndl.go.jp'
100
+ uri.to_s
101
+ end
102
+
96
103
  def self.fetch_uri(uri, rich = false)
97
104
  uri = URI.parse(uri) unless uri.kind_of? URI
98
105
  self.logger.debug "fetch_uri #{uri}"
data/spec/book_spec.rb CHANGED
@@ -30,6 +30,27 @@ describe Kindai::Book do
30
30
  @book.spreads.should have_exactly(@book.total_spread).spreads
31
31
  end
32
32
 
33
+ it 'normalizes permalink to canonical uri' do
34
+ @book.permalink_uri.should == 'http://dl.ndl.go.jp/info:ndljp/pid/922693'
35
+ end
36
+ end
37
+
38
+ describe Kindai::Book, '国会図書館デジタルコレクション' do
39
+ before do
40
+ @book = Kindai::Book.new_from_permalink('http://dl.ndl.go.jp/info:ndljp/pid/922693')
41
+ end
42
+
43
+ it 'has static permalink_uri' do
44
+ @book.permalink_uri.should == 'http://dl.ndl.go.jp/info:ndljp/pid/922693'
45
+ end
46
+
47
+ it 'has key' do
48
+ @book.key.should == "922693"
49
+ end
50
+
51
+ it 'has title' do
52
+ @book.title.should == '正義の叫'
53
+ end
33
54
  end
34
55
 
35
56
  describe Kindai::Book, 'with series' do
data/spec/spread_spec.rb CHANGED
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
 
4
4
  describe Kindai::Spread do
5
5
  before do
6
- @book = Kindai::Book.new_from_permalink('http://kindai.ndl.go.jp/info:ndljp/pid/922693')
6
+ @book = Kindai::Book.new_from_permalink('http://dl.ndl.go.jp/info:ndljp/pid/922693')
7
7
  @spread = @book.spreads[4]
8
8
  end
9
9
 
@@ -16,11 +16,11 @@ describe Kindai::Spread do
16
16
  end
17
17
 
18
18
  it 'has uri' do
19
- @spread.uri.should == 'http://kindai.ndl.go.jp/info:ndljp/pid/922693/5'
19
+ @spread.uri.should == 'http://dl.ndl.go.jp/info:ndljp/pid/922693/5'
20
20
  end
21
21
 
22
22
  it 'has image_uri' do
23
- @spread.image_uri.should == "http://kindai.ndl.go.jp/view/jpegOutput?itemId=info%3Andljp%2Fpid%2F922693&contentNo=5&outputScale=1"
23
+ @spread.image_uri.should == "http://dl.ndl.go.jp/view/jpegOutput?itemId=info%3Andljp%2Fpid%2F922693&contentNo=5&outputScale=1"
24
24
  end
25
25
 
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kindai
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hitode909
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-15 00:00:00.000000000 Z
11
+ date: 2016-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -86,28 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 1.6.2
89
+ version: 1.13.6
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 1.6.2
96
+ version: 1.13.6
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: jeweler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 2.0.1
103
+ version: 2.1.2
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 2.0.1
110
+ version: 2.1.2
111
111
  description: kindai.rb is kindai digital library downloader.
112
112
  email: hitode909@gmail.com
113
113
  executables:
@@ -170,7 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  version: '0'
171
171
  requirements: []
172
172
  rubyforge_project:
173
- rubygems_version: 2.2.2
173
+ rubygems_version: 2.4.5.1
174
174
  signing_key:
175
175
  specification_version: 4
176
176
  summary: kindai digital library downloader