daengine 0.3.9.4 → 0.3.9.5
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.
data/app/models/digital_asset.rb
CHANGED
@@ -168,7 +168,7 @@ class DigitalAsset::Document
|
|
168
168
|
field :path, type: String
|
169
169
|
field :doc_changed_at, type: Time
|
170
170
|
field :content_type, type: String
|
171
|
-
field :pages, type: Integer, default:
|
171
|
+
field :pages, type: Integer, default: 1
|
172
172
|
field :size, type: String
|
173
173
|
field :mime_type, type: String
|
174
174
|
|
@@ -90,14 +90,15 @@ module Daengine::TeamsiteMetadataParser
|
|
90
90
|
DigitalAsset.where(guid: key).try :delete_all
|
91
91
|
delete_count += 1
|
92
92
|
else
|
93
|
-
asset_docs = trim_package(assets[key]['documents_attributes'], last_read)
|
94
93
|
da = DigitalAsset.find_or_initialize_by(guid: key)
|
94
|
+
asset_docs = trim_package(assets[key]['documents_attributes'], last_read, da)
|
95
95
|
if (!asset_docs.empty?)
|
96
96
|
assets[key]['documents_attributes'] = asset_docs
|
97
|
+
assets[key]['orderable'] = da.orderable unless da.new?
|
98
|
+
|
97
99
|
creating = da.new?
|
98
100
|
da.documents = []
|
99
101
|
begin
|
100
|
-
assets[key].each { |k,v| assets[key][k] = da.orderable if k == 'orderable'}
|
101
102
|
da.update_attributes!(assets[key])
|
102
103
|
rescue Exception => e
|
103
104
|
error_files << "#{e} ---- #{da.try(:guid)}, #{da.try(:errors).try(:full_messages)}"
|
@@ -124,7 +125,7 @@ module Daengine::TeamsiteMetadataParser
|
|
124
125
|
end
|
125
126
|
end
|
126
127
|
|
127
|
-
def self.trim_package(asset_docs, last_read = nil)
|
128
|
+
def self.trim_package(asset_docs, last_read = nil, existing_da = nil)
|
128
129
|
docs = []
|
129
130
|
path = Daengine.config[:digital_assets_file_directory]
|
130
131
|
if Dir.exist?(path) # dont throw away assets if we can't locate the dir
|
@@ -141,6 +142,9 @@ module Daengine::TeamsiteMetadataParser
|
|
141
142
|
pages = exifdata.pagecount
|
142
143
|
pages = exifdata.pages if pages.blank?
|
143
144
|
pages = exifdata.slides if pages.blank?
|
145
|
+
if(pages.blank?)
|
146
|
+
Daengine.log "Unable to get pages metadata for #{file}, exifdata.pagecount = #{exifdata.pagecount}, exifdata.pages = #{exifdata.pages}", "info"
|
147
|
+
end
|
144
148
|
doc['pages'] = pages
|
145
149
|
doc['size'] = exifdata.filesize
|
146
150
|
doc['mime_type'] = exifdata.mimetype
|
@@ -148,6 +152,16 @@ module Daengine::TeamsiteMetadataParser
|
|
148
152
|
rescue Exception => e
|
149
153
|
Daengine.log "Error reading metadata from #{file} #{e.message}", "error"
|
150
154
|
end
|
155
|
+
elsif(existing_da && !existing_da.new?) # copy over the existing asset metadata
|
156
|
+
existing_doc = existing_da.documents.where(path: doc['path'])[0]
|
157
|
+
if(existing_doc)
|
158
|
+
doc['pages'] = existing_doc.pages
|
159
|
+
doc['size'] = existing_doc.size
|
160
|
+
doc['mime_type'] = existing_doc.mime_type
|
161
|
+
else
|
162
|
+
Daengine.log "Unable to find document with path #{file} on existing asset #{existing_da.guid} title: #{existing_da.title}", "info"
|
163
|
+
end
|
164
|
+
Daengine.log "Saving existing pages #{existing_doc.pages} and size #{existing_doc.size} on #{file}", "info"
|
151
165
|
end
|
152
166
|
else
|
153
167
|
# the file was missing on disk, show a warning!
|
data/lib/daengine/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: daengine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.9.
|
5
|
+
version: 0.3.9.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- sbhatia
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-12-
|
13
|
+
date: 2012-12-20 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|