Skip to content

Commit

Permalink
Added support for upgrading files from old Webiva
Browse files Browse the repository at this point in the history
  • Loading branch information
cykod committed Sep 30, 2010
1 parent 1bc48e4 commit 5957bc3
Showing 1 changed file with 39 additions and 9 deletions.
48 changes: 39 additions & 9 deletions app/models/domain_file.rb
Expand Up @@ -17,7 +17,7 @@
=end
class DomainFile < DomainModel

@@image_size_array = [ [ :icon, 32], [:thumb, 64], [:preview, 128 ], [ :small , 256 ] ]
@@image_size_array = [ [:tiny, 16], [ :icon, 32], [:thumb, 64], [:preview, 128 ], [ :small , 256 ] ]
@@image_sizes = {}
@@image_size_array.each { |size| @@image_sizes[size[0]] = [ size[1], size[1] ] }

Expand Down Expand Up @@ -198,6 +198,24 @@ def rename(new_name)
return false
end


# Upgrade the meta info in a file from the old Webiva
def upgrade_file
return if self.file_type == 'fld'
begin
self.generate_meta_info
rescue Exception => e
raise self.inspect + e.to_s
end
fattr = self.read_attribute(:filename)
if fattr != self.name
ext = File.extname(self.name)
desired_name = DomainFile.sanitize_filename(File.basename(self.name,ext) + File.extname(fattr))
self.name = fattr
self.rename(desired_name)
end
end

def replace_file(options={})
@replace = DomainFile.find_by_id(options[:replace_id])
return unless @replace && ! @replace.folder? && ! self.folder?
Expand Down Expand Up @@ -326,6 +344,7 @@ def preprocess_file #:nodoc:

# Regenerate built in thumbnails and optionally resave the file
def generate_thumbnails(save_file=true)
return if self.file_type=='fld'
info = {}

info[:image_size] = {}
Expand Down Expand Up @@ -379,14 +398,8 @@ def process_file(update=false) #:nodoc:
File.chmod(0664,self.local_filename)


self.file_size = File.size(self.local_filename)
self.stored_at = Time.now
self.mtime = File.mtime(self.local_filename)

mime = MIME::Types.type_for(self.abs_filename)
mime = [MIME::Type.simplified(@file_data.content_type)] if mime.empty? && @file_data.respond_to?(:content_type) && ! @file_data.content_type.blank?
self.mime_type = mime[0] ? mime[0].to_s : 'application/octet-stream'

generate_meta_info(false)

# Unless we're skipping the transform on this
if !@skip_transform
if(self.file_type=='img' || self.file_type=='thm')
Expand All @@ -407,6 +420,23 @@ def process_file(update=false) #:nodoc:
end

end

def generate_meta_info(save_file=true)
self.file_size = File.size(self.local_filename)
self.stored_at = Time.now
self.mtime = File.mtime(self.local_filename)

mime = MIME::Types.type_for(self.abs_filename)
mime = [MIME::Type.simplified(@file_data.content_type)] if mime.empty? && @file_data.respond_to?(:content_type) && ! @file_data.content_type.blank?
self.mime_type = mime[0] ? mime[0].to_s : 'application/octet-stream'

if self.extension.blank?
ext = File.extname(self.local_filename)[1..-1]
self.extension= ext.downcase if ext.to_s.length > 0
end

self.save if save_file
end

def set_size(size_name,width,height) #:nodoc:
meta_info[:image_size] ||= {}
Expand Down

0 comments on commit 5957bc3

Please sign in to comment.