overdrive_metadata 1.0.2.3 → 1.0.2.4

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.
@@ -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: