enju_ndl 0.0.9 → 0.0.10

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.
@@ -20,7 +20,7 @@ module EnjuNdl
20
20
  end
21
21
 
22
22
  def import_record(doc)
23
- pub_date, language, nbn, ndc, isbn = nil, nil, nil, nil, nil
23
+ pub_date, langugage, nbn, ndc, isbn = nil, nil, nil, nil, nil
24
24
 
25
25
  publishers = get_publishers(doc).zip([]).map{|f,t| {:full_name => f, :full_name_transcription => t}}
26
26
 
@@ -33,7 +33,13 @@ module EnjuNdl
33
33
  pub_date = nil
34
34
  end
35
35
 
36
- language = get_language(doc)
36
+ language = Language.where(:iso_639_2 => get_language(doc)).first
37
+ if language
38
+ language_id = language.id
39
+ else
40
+ language_id = 1
41
+ end
42
+
37
43
  isbn = doc.at('//dcterms:identifier[@rdf:datatype="http://ndl.go.jp/dcndl/terms/ISBN"]').try(:content).to_s
38
44
  nbn = doc.at('//dcterms:identifier[@rdf:datatype="http://ndl.go.jp/dcndl/terms/JPNO"]').try(:content)
39
45
  classification_urls = doc.xpath('//dcterms:subject[@rdf:resource]').map{|subject| subject.attributes['resource'].value}
@@ -49,7 +55,6 @@ module EnjuNdl
49
55
  manifestation = nil
50
56
  Patron.transaction do
51
57
  publisher_patrons = Patron.import_patrons(publishers)
52
- language_id = Language.where(:iso_639_2 => language).first.id rescue 1
53
58
 
54
59
  manifestation = Manifestation.new(
55
60
  :original_title => title[:manifestation],
@@ -141,7 +146,7 @@ module EnjuNdl
141
146
  def get_title(doc)
142
147
  title = {
143
148
  :manifestation => doc.xpath('//dc:title/rdf:Description/rdf:value').collect(&:content).join(' ').tr('a-zA-Z0-9 ', 'a-zA-Z0-9 ').squeeze(' '),
144
- :transcription => doc.xpath('//dc:title/dcndl:transcription').collect(&:content).join(' ').tr('a-zA-Z0-9 ', 'a-zA-Z0-9 ').squeeze(' '),
149
+ :transcription => doc.xpath('//dc:title/rdf:Description/dcndl:transcription').collect(&:content).join(' ').tr('a-zA-Z0-9 ', 'a-zA-Z0-9 ').squeeze(' '),
145
150
  :alternative => doc.at('//dcndl:alternative/rdf:Description/rdf:value').try(:content),
146
151
  :alternative_transcription => doc.at('//dcndl:alternative/rdf:Description/dcndl:transcription').try(:content)
147
152
  }
@@ -168,7 +173,10 @@ module EnjuNdl
168
173
 
169
174
  def get_language(doc)
170
175
  # TODO: 言語が複数ある場合
171
- language = doc.xpath('//dcterms:language').first.content.downcase
176
+ language = doc.at('//dcterms:language[@rdf:datatype="http://purl.org/dc/terms/ISO639-2"]').content
177
+ if language
178
+ language.downcase
179
+ end
172
180
  end
173
181
 
174
182
  def get_publishers(doc)
@@ -1,3 +1,3 @@
1
1
  module EnjuNdl
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
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.9
4
+ version: 0.0.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70116582319300 !ruby/object:Gem::Requirement
16
+ requirement: &70220379155080 !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: *70116582319300
24
+ version_requirements: *70220379155080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: devise
27
- requirement: &70116582318700 !ruby/object:Gem::Requirement
27
+ requirement: &70220379154300 !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: *70116582318700
35
+ version_requirements: *70220379154300
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70116582342180 !ruby/object:Gem::Requirement
38
+ requirement: &70220379153460 !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: *70116582342180
46
+ version_requirements: *70220379153460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: will_paginate
49
- requirement: &70116582341340 !ruby/object:Gem::Requirement
49
+ requirement: &70220379152600 !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: *70116582341340
57
+ version_requirements: *70220379152600
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sqlite3
60
- requirement: &70116582340280 !ruby/object:Gem::Requirement
60
+ requirement: &70220379168500 !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: *70116582340280
68
+ version_requirements: *70220379168500
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec-rails
71
- requirement: &70116582339360 !ruby/object:Gem::Requirement
71
+ requirement: &70220379167860 !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: *70116582339360
79
+ version_requirements: *70220379167860
80
80
  description: NDL WebAPI wrapper for Next-L Enju
81
81
  email:
82
82
  - tanabe@mwr.mediacom.keio.ac.jp