overdrive_metadata 1.0.2.3 → 1.0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/overdrive_metadata.rb +10 -6
- data/overdrive_metadata.gemspec +1 -1
- metadata +1 -1
data/lib/overdrive_metadata.rb
CHANGED
@@ -2,7 +2,7 @@ require 'marc'
|
|
2
2
|
require 'spreadsheet'
|
3
3
|
|
4
4
|
class OverdriveMetadata
|
5
|
-
VERSION = '1.0.2.
|
5
|
+
VERSION = '1.0.2.4'
|
6
6
|
|
7
7
|
attr_reader :records, :count
|
8
8
|
|
@@ -11,7 +11,7 @@ class OverdriveMetadata
|
|
11
11
|
ACCESS = 'Mode of access: World Wide Web.'
|
12
12
|
URL_MSG = 'Click to download this resource.'
|
13
13
|
DISCLAIM = 'Record generated from Overdrive metadata spreadsheet.'
|
14
|
-
READ_ERR = 'Error reading spreadsheet!
|
14
|
+
READ_ERR = 'Error reading spreadsheet! Ensure file is closed, verfiy location and save as XLS'
|
15
15
|
|
16
16
|
HEADERS = {
|
17
17
|
:oclc => 19,
|
@@ -59,7 +59,9 @@ class OverdriveMetadata
|
|
59
59
|
begin
|
60
60
|
@records << create_record(row)
|
61
61
|
rescue Exception => ex
|
62
|
-
puts "#{@count.to_s}\t#{ex.message}"
|
62
|
+
puts "Row #{@count.to_s}\t#{ex.message}"
|
63
|
+
puts "#{ex.backtrace[0]}"
|
64
|
+
puts
|
63
65
|
next
|
64
66
|
end
|
65
67
|
|
@@ -96,7 +98,7 @@ class OverdriveMetadata
|
|
96
98
|
r.make_data_field('100', '1', ' ', {'a' => normalize_author(field[:author])})
|
97
99
|
r.make_title(field[:title], field[:author])
|
98
100
|
r.make_publication(field[:place], field[:publisher], field[:year])
|
99
|
-
r.make_physical(field[:hours], field[:minutes])
|
101
|
+
r.make_physical(field[:hours], field[:minutes]) # ebooks will ignore
|
100
102
|
r.make_data_field('306', ' ', ' ', {'a' => field[:hours] + field[:minutes] + field[:seconds]})
|
101
103
|
r.make_data_field('538', ' ', ' ', {'a' => ACCESS})
|
102
104
|
r.make_data_field('538', ' ', ' ', {'a' => 'Requires ' + field[:requires] + '.'})
|
@@ -117,7 +119,9 @@ class OverdriveMetadata
|
|
117
119
|
r.make_data_field('856', '4', '0', {'u' => field[:download], 'y' => URL_MSG})
|
118
120
|
|
119
121
|
if @agency == 'JTH'
|
120
|
-
r.
|
122
|
+
if r.is_a? EAudioBook
|
123
|
+
r.make_data_field('856', '4', '2', {'u' => field[:cover], 'y' => "<img class=\"scl_mwthumb\" src=\"#{field[:thumb]}\" alt=\"Artwork for this title - #{field[:title].gsub(/[^A-Za-z ]/, '')}\" />"})
|
124
|
+
end
|
121
125
|
r.make_data_field('907', ' ', ' ', {'a' => 'ER'})
|
122
126
|
end
|
123
127
|
|
@@ -143,7 +147,7 @@ class OverdriveMetadata
|
|
143
147
|
end
|
144
148
|
values[:year] = values[:date].match(/\d{4}/).to_s unless year # fall-back
|
145
149
|
values[:time] = data[HEADERS[:time]]
|
146
|
-
hr, mn, sc = values[:time].split ':'
|
150
|
+
hr, mn, sc = values[:time].split ':' rescue ''
|
147
151
|
values[:hours] = hr ? hr : ''
|
148
152
|
values[:minutes] = mn ? mn : ''
|
149
153
|
values[:seconds] = sc ? sc : ''
|
data/overdrive_metadata.gemspec
CHANGED