enju_ndl 0.0.11 → 0.0.12

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.
@@ -38,7 +38,7 @@ class NdlBook
38
38
  return if manifestation
39
39
  url = "http://iss.ndl.go.jp/api/sru?operation=searchRetrieve&recordSchema=dcndl&&maximumRecords=1&&query=%28jpno=#{jpno}%29"
40
40
  response = Nokogiri::XML(open("http://iss.ndl.go.jp/api/sru?operation=searchRetrieve&recordSchema=dcndl&&maximumRecords=1&&query=%28jpno=#{jpno}%29")).at('//xmlns:recordData')
41
- return unless response.content
41
+ return unless response.try(:content)
42
42
  doc = Nokogiri::XML(response.content)
43
43
  Manifestation.import_record(doc)
44
44
  end
@@ -22,6 +22,10 @@ module EnjuNdl
22
22
  def import_record(doc)
23
23
  pub_date, langugage, nbn, ndc, isbn = nil, nil, nil, nil, nil
24
24
 
25
+ nbn = doc.at('//dcterms:identifier[@rdf:datatype="http://ndl.go.jp/dcndl/terms/JPNO"]').try(:content)
26
+ manifestation = Manifestation.where(:nbn => nbn).first if nbn
27
+ return manifestation if manifestation
28
+
25
29
  publishers = get_publishers(doc).zip([]).map{|f,t| {:full_name => f, :full_name_transcription => t}}
26
30
 
27
31
  # title
@@ -41,7 +45,6 @@ module EnjuNdl
41
45
  end
42
46
 
43
47
  isbn = doc.at('//dcterms:identifier[@rdf:datatype="http://ndl.go.jp/dcndl/terms/ISBN"]').try(:content).to_s
44
- nbn = doc.at('//dcterms:identifier[@rdf:datatype="http://ndl.go.jp/dcndl/terms/JPNO"]').try(:content)
45
48
  classification_urls = doc.xpath('//dcterms:subject[@rdf:resource]').map{|subject| subject.attributes['resource'].value}
46
49
  if classification_urls
47
50
  ndc9_url = classification_urls.map{|url| URI.parse(url)}.select{|u| u.path.split('/').reverse[1] == 'ndc9'}.first
@@ -50,6 +53,7 @@ module EnjuNdl
50
53
  end
51
54
  end
52
55
  description = doc.at('//dcterms:abstract').try(:content)
56
+ price = doc.at('//dcndl:price').try(:content)
53
57
  volume_number_string = doc.at('//dcndl:volume/rdf:Description/rdf:value').try(:content)
54
58
 
55
59
  manifestation = nil
@@ -68,6 +72,7 @@ module EnjuNdl
68
72
  :pub_date => pub_date,
69
73
  :description => description,
70
74
  :volume_number_string => volume_number_string,
75
+ :price => price,
71
76
  :nbn => nbn,
72
77
  :ndc => ndc
73
78
  )
@@ -1,3 +1,3 @@
1
1
  module EnjuNdl
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_ndl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-07 00:00:00.000000000 Z
12
+ date: 2012-02-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70321691461860 !ruby/object:Gem::Requirement
16
+ requirement: &70242626790440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70321691461860
24
+ version_requirements: *70242626790440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: devise
27
- requirement: &70321691461440 !ruby/object:Gem::Requirement
27
+ requirement: &70242626790020 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70321691461440
35
+ version_requirements: *70242626790020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70321691460980 !ruby/object:Gem::Requirement
38
+ requirement: &70242626789560 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70321691460980
46
+ version_requirements: *70242626789560
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: will_paginate
49
- requirement: &70321691460480 !ruby/object:Gem::Requirement
49
+ requirement: &70242626805440 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70321691460480
57
+ version_requirements: *70242626805440
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sqlite3
60
- requirement: &70321691460060 !ruby/object:Gem::Requirement
60
+ requirement: &70242626805020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70321691460060
68
+ version_requirements: *70242626805020
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-rails
71
- requirement: &70321691459600 !ruby/object:Gem::Requirement
71
+ requirement: &70242626804560 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70321691459600
79
+ version_requirements: *70242626804560
80
80
  description: NDL WebAPI wrapper for Next-L Enju
81
81
  email:
82
82
  - tanabe@mwr.mediacom.keio.ac.jp