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.
@@ -2,7 +2,7 @@ require 'marc'
2
2
  require 'spreadsheet'
3
3
 
4
4
  class OverdriveMetadata
5
- VERSION = '1.0.2.3'
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! Close, verfiy location and ensure .xls'
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.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 ]/, '')}\" />"})
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 : ''
@@ -5,7 +5,7 @@ require "base64"
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{overdrive_metadata}
8
- s.version = '1.0.2.3'
8
+ s.version = '1.0.2.4'
9
9
  s.authors = ["Mark Cooper"]
10
10
  s.date = %q{2011-11-22}
11
11
  s.homepage = %q{http://www.libcode.net}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: overdrive_metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2.3
4
+ version: 1.0.2.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: