OSDN Git Service

Merge branch 'v05' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v05
[pettanr/pettanr.git] / lib / local_picture.rb
index 74f020c..bdaf976 100644 (file)
@@ -13,10 +13,6 @@ class PictureIO
       @base = b
     end
     
-    def self.subdirs
-      ['', 'v', 'h', 'vh', 'thumbnail']
-    end
-    
     def dir(subdir = nil)
       sd = if subdir.to_s.empty?
         self.base
@@ -33,26 +29,48 @@ class PictureIO
     end
     
     def exist?(filename, subdir = nil)
-      File.exist?(dir(subdir) + filename)
+      res = true
+      begin
+        res = File.exist?(dir(subdir) + filename)
+      rescue
+        raise PictureIO::Error
+      end
+      res
     end
     
     def put(bindata, filename, subdir = nil)
-      mkdir subdir
-      open(dir(subdir) + filename, 'wb') do |f|
-        f.write bindata
+      res = true
+      begin
+        mkdir subdir
+        File.open(dir(subdir) + filename, 'wb') do |f|
+          f.write bindata
+        end
+      rescue
+        raise PictureIO::Error
       end
+      res
     end
     
     def get(filename, subdir = nil)
       bindata = ''
-      open(dir(subdir) + filename, 'rb') do |f|
-        bindata += f.read
+      begin
+        File.open(dir(subdir) + filename, 'rb') do |f|
+          bindata += f.read
+        end
+      rescue
+        raise PictureIO::Error
       end
       bindata
     end
     
     def delete(filename, subdir = nil)
-      File.delete(dir(subdir) + filename)
+      res = true
+      begin
+        File.delete(dir(subdir) + filename)
+      rescue
+        raise PictureIO::Error
+      end
+      res
     end
     
   end