gluttonberg-core 2.5.6 → 2.5.7
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.
@@ -7,12 +7,12 @@ module Gluttonberg
|
|
7
7
|
|
8
8
|
def self.process(asset_obj)
|
9
9
|
if asset_obj.asset_type.asset_category.name == "audio"
|
10
|
-
collect_mp3_info(
|
10
|
+
self.collect_mp3_info(asset_obj)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
# Collect mp3 files info using Mp3Info gem
|
15
|
-
def collect_mp3_info(asset)
|
15
|
+
def self.collect_mp3_info(asset)
|
16
16
|
audio = AudioAssetAttribute.find( :first , :conditions => {:asset_id => asset.id})
|
17
17
|
|
18
18
|
begin
|
@@ -36,8 +36,8 @@ module Gluttonberg
|
|
36
36
|
s3_server_url = S3::ClassMethods.s3_server_url
|
37
37
|
s3_bucket = S3::ClassMethods.s3_bucket_name
|
38
38
|
if !key_id.blank? && !key_val.blank? && !s3_server_url.blank? && !s3_bucket.blank?
|
39
|
-
s3 =
|
40
|
-
bucket = s3.
|
39
|
+
s3 = AWS::S3.new({ :access_key_id => key_id, :secret_access_key => key_val , :server => s3_server_url})
|
40
|
+
bucket = s3.buckets[s3_bucket]
|
41
41
|
else
|
42
42
|
nil
|
43
43
|
end
|
@@ -50,16 +50,17 @@ module Gluttonberg
|
|
50
50
|
local_file = "public/user_assets/" + asset_hash + "/" + file_name
|
51
51
|
key_for_s3 = "user_assets/" + asset_hash + "/" + file_name
|
52
52
|
date = Time.now+1.years
|
53
|
-
key = bucket.
|
53
|
+
key = bucket.objects[key_for_s3]
|
54
54
|
asset = Gluttonberg::Asset.where(:asset_hash => asset_hash).first
|
55
55
|
unless asset.blank?
|
56
56
|
puts " Copying #{local_file} to #{S3::ClassMethods.s3_bucket_name}"
|
57
|
+
|
57
58
|
unless asset.mime_type.blank?
|
58
|
-
key.
|
59
|
+
key.write(File.open(local_file), {:expires => date.rfc2822, :content_type => asset.mime_type , :acl => :public_read })
|
59
60
|
else
|
60
|
-
key.
|
61
|
+
key.write(File.open(local_file) , {:expires => date.rfc2822 , :acl => :public_read })
|
61
62
|
end
|
62
|
-
|
63
|
+
asset.update_attributes(:copied_to_s3 => true)
|
63
64
|
puts "Copied"
|
64
65
|
end
|
65
66
|
end
|
@@ -112,7 +113,7 @@ module Gluttonberg
|
|
112
113
|
|
113
114
|
def remove_file_from_tmp_storage
|
114
115
|
if File.exists?(tmp_directory)
|
115
|
-
puts "Remove assset folder from tmp storage (tmp_directory)"
|
116
|
+
puts "Remove assset folder from tmp storage (#{tmp_directory})"
|
116
117
|
FileUtils.rm_r(tmp_directory)
|
117
118
|
end
|
118
119
|
end
|
@@ -146,11 +147,11 @@ module Gluttonberg
|
|
146
147
|
folder = self.asset_hash
|
147
148
|
date = Time.now+1.years
|
148
149
|
puts "Copying #{file_name} (#{local_file}) to #{S3::ClassMethods.s3_bucket_name}"
|
149
|
-
key = bucket.
|
150
|
+
key = bucket.objects[self.directory + "/" + file_name]
|
150
151
|
unless self.mime_type.blank?
|
151
|
-
key.
|
152
|
+
key.write(File.open(local_file), {:expires => date.rfc2822, :content_type => self.mime_type , :acl => :public_read })
|
152
153
|
else
|
153
|
-
key.
|
154
|
+
key.write(File.open(local_file) , {:expires => date.rfc2822 , :acl => :public_read })
|
154
155
|
end
|
155
156
|
self.update_column(:copied_to_s3 , true)
|
156
157
|
puts "Copied"
|
@@ -166,7 +167,7 @@ module Gluttonberg
|
|
166
167
|
def remove_asset_folder_from_s3
|
167
168
|
bucket = bucket_handle
|
168
169
|
unless bucket.blank?
|
169
|
-
bucket.
|
170
|
+
bucket.objects.with_prefix(self.directory).delete_all
|
170
171
|
end
|
171
172
|
end
|
172
173
|
|
@@ -177,14 +178,18 @@ module Gluttonberg
|
|
177
178
|
def download_orginal_file_from_s3
|
178
179
|
FileUtils.mkdir(self.tmp_directory) unless File.exists?(self.tmp_directory)
|
179
180
|
bucket = bucket_handle
|
180
|
-
key = bucket.
|
181
|
-
File.open(self.tmp_location_on_disk, "w") do |f|
|
182
|
-
|
181
|
+
key = bucket.objects[self.location_on_disk]
|
182
|
+
File.open(self.tmp_location_on_disk, "w", encoding: "ASCII-8BIT") do |f|
|
183
|
+
key.read do |chunk|
|
184
|
+
f.write(chunk)
|
185
|
+
end
|
183
186
|
end
|
184
|
-
key = bucket.
|
187
|
+
key = bucket.objects[self.original_file_on_disk]
|
185
188
|
if key.exists?
|
186
|
-
File.open(self.tmp_original_file_on_disk, "w") do |f|
|
187
|
-
|
189
|
+
File.open(self.tmp_original_file_on_disk, "w", encoding: "ASCII-8BIT") do |f|
|
190
|
+
key.read do |chunk|
|
191
|
+
f.write(chunk)
|
192
|
+
end
|
188
193
|
end
|
189
194
|
end
|
190
195
|
end
|
data/lib/gluttonberg/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gluttonberg-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-02-
|
15
|
+
date: 2013-02-14 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: authlogic
|
@@ -286,6 +286,22 @@ dependencies:
|
|
286
286
|
- - ! '>='
|
287
287
|
- !ruby/object:Gem::Version
|
288
288
|
version: '0'
|
289
|
+
- !ruby/object:Gem::Dependency
|
290
|
+
name: aws-sdk
|
291
|
+
requirement: !ruby/object:Gem::Requirement
|
292
|
+
none: false
|
293
|
+
requirements:
|
294
|
+
- - '='
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: 1.8.1.3
|
297
|
+
type: :runtime
|
298
|
+
prerelease: false
|
299
|
+
version_requirements: !ruby/object:Gem::Requirement
|
300
|
+
none: false
|
301
|
+
requirements:
|
302
|
+
- - '='
|
303
|
+
- !ruby/object:Gem::Version
|
304
|
+
version: 1.8.1.3
|
289
305
|
description: ! 'The Gluttonberg goal has always been to create a Content Management
|
290
306
|
System that''s great for users, content manager and developers. The focus of Gluttonberg
|
291
307
|
2.5 has been two-fold: a refined management user interface to make maintaining your
|