OSDN Git Service

Merge branch 'v05' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v05
[pettanr/pettanr.git] / lib / s3_picture.rb
index 57bfa6c..67bb377 100644 (file)
@@ -28,25 +28,46 @@ class PictureIO
     end
     
     def exist?(filename, subdir = nil)
-      AWS::S3::S3Object.exist?(dir(subdir) + filename)
+      res = true
+      begin
+        res = AWS::S3::S3Object.exist?(dir(subdir) + filename, base)
+      rescue
+        raise PictureIO::Error
+      end
+      res
     end
     
     def put(bindata, filename, subdir = nil)
-      AWS::S3::S3Object.store(dir(subdir) + filename, bindata, base)
+      res = true
+      begin
+        AWS::S3::S3Object.store(dir(subdir) + filename, bindata, base)
+      rescue
+        raise PictureIO::Error
+      end
+      res
     end
     
     def get(filename, subdir = nil)
       bindata = ''
-  #      if AWS::S3::S3Object.exists?(fn, 'pettanr')
-      AWS::S3::S3Object.stream(dir(subdir) + filename, base) do |st|
-        bindata += st if st
+      begin
+        AWS::S3::S3Object.stream(dir(subdir) + filename, base) do |st|
+          bindata += st if st
+        end
+      rescue
+        raise PictureIO::Error
       end
       bindata
     end
     
     def delete(filename, subdir = nil)
-      AWS::S3::S3Object.delete(dir(subdir) + filename, base)
-    end
+      res = true
+      begin
+        AWS::S3::S3Object.delete(dir(subdir) + filename, base)
+      rescue
+        raise PictureIO::Error
+      end
+      res
+  end
     
   end
 end