Changeset 41
- Timestamp:
- 02/24/07 22:45:16 (2 years ago)
- Files:
-
- trunk/Memories/Photo.pm (modified) (6 diffs)
- trunk/memories.sql (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Memories/Photo.pm
r40 r41 3 3 use File::Copy; 4 4 use Archive::Any; 5 use File::Temp qw(tempdir );5 use File::Temp qw(tempdir tmpnam); 6 6 use File::Path qw(rmtree); 7 7 use File::Find; … … 14 14 use Image::Seek; 15 15 use constant PAGER_SYNTAX => "LimitXY"; 16 __PACKAGE__->columns(Essential => qw(id title uploader uploaded x y rating rated hit_count ));16 __PACKAGE__->columns(Essential => qw(id title uploader uploaded x y rating rated hit_count format)); 17 17 __PACKAGE__->untaint_columns(printable => [qw/title/]); 18 18 __PACKAGE__->columns(TEMP => qw/exif_object/); … … 95 95 my $res = $mm->checktype_filename($filename); 96 96 warn "$filename is a $res\n"; 97 if ($res =~ m{/x-zip} or $offered_name =~ /t(ar\.)?gz /i) {97 if ($res =~ m{/x-zip} or $offered_name =~ /t(ar\.)?gz$/i) { 98 98 return $self->upload_archive($r, $filename); 99 } elsif ($offered_name =~ /\.(raw|nef)/i) { 100 return $self->upload_raw($r, $filename, $offered_name); 99 101 } elsif ($res =~ m{image/jpeg}) { 100 102 return $self->upload_jpeg($r, $filename, $offered_name); … … 117 119 rmtree($dir); 118 120 return @results; 121 } 122 123 sub upload_raw { 124 my ($self, $r, $filename, $offered_name) = @_; 125 my $jpg = tmpnam().".jpg"; 126 system("dcraw -c $filename | convert - $jpg"); 127 my $photo = $self->upload_jpeg($r, $jpg, $offered_name); 128 $filename =~ /\.(.*)$/; 129 my $format = $1; 130 $photo->format($format); 131 # Put the file in place 132 copy($filename, 133 Memories->config->{data_store}."/".$photo->id.".".$format); 134 return $photo; 119 135 } 120 136 … … 223 239 } 224 240 225 sub format {226 "jpg" # For now227 }228 229 241 use Cache::MemoryCache; 230 242 use Image::Info qw(dim image_info); … … 336 348 use File::Path; 337 349 if ($is_url ne "url") {mkpath($path);} 338 $path .= $self->id.".".$self->format; 350 if ($scale or $is_url ne "url") { 351 $path .= $self->id.".jpg"; 352 } else { 353 $path .= $self->id.".".($self->format||"jpg"); 354 } 339 355 return $path; 340 356 } trunk/memories.sql
r9 r41 8 8 hit_count integer, 9 9 rating integer, 10 rated integer 10 rated integer, 11 format varchar(10) 11 12 ); 12 13
