]> arthur.barton.de Git - bup.git/commitdiff
A bunch of IOError->OSError conversions.
authorAvery Pennarun <apenwarr@gmail.com>
Sun, 20 Mar 2011 09:07:03 +0000 (02:07 -0700)
committerAvery Pennarun <apenwarr@gmail.com>
Sun, 20 Mar 2011 09:42:10 +0000 (02:42 -0700)
Some of our replacement functions were throwing IOError when the function
they replaced would throw OSError.  This was particularly noticeable with
utime() on MacOS, since it caused a unit test failure.

Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
cmd/save-cmd.py
cmd/xstat-cmd.py
lib/bup/_helpers.c
lib/bup/metadata.py

index a340dfbedc50ff7e76604e23534973ec4a9ab53f..b25b5aca67e294dd004a8d98039ff120c1c133a1 100755 (executable)
@@ -256,10 +256,7 @@ for (transname,ent) in r.filter(extra, wantrecurse=wantrecurse_during):
         if stat.S_ISREG(ent.mode):
             try:
                 f = hashsplit.open_noatime(ent.name)
-            except IOError, e:
-                add_error(e)
-                lastskip_name = ent.name
-            except OSError, e:
+            except (IOError, OSError), e:
                 add_error(e)
                 lastskip_name = ent.name
             else:
@@ -267,7 +264,7 @@ for (transname,ent) in r.filter(extra, wantrecurse=wantrecurse_during):
                     (mode, id) = hashsplit.split_to_blob_or_tree(
                                             w.new_blob, w.new_tree, [f],
                                             keep_boundaries=False)
-                except IOError, e:
+                except (IOError, OSError), e:
                     add_error('%s: %s' % (ent.name, e))
                     lastskip_name = ent.name
         else:
@@ -276,10 +273,7 @@ for (transname,ent) in r.filter(extra, wantrecurse=wantrecurse_during):
             elif stat.S_ISLNK(ent.mode):
                 try:
                     rl = os.readlink(ent.name)
-                except OSError, e:
-                    add_error(e)
-                    lastskip_name = ent.name
-                except IOError, e:
+                except (OSError, IOError), e:
                     add_error(e)
                     lastskip_name = ent.name
                 else:
index 888dc0986240ac19a976ff9c644eb584f2307be2..6b371c63aabc2f62a48cfe8d07fb35ba48dcef43 100755 (executable)
@@ -74,7 +74,7 @@ for flag, value in flags:
 for path in remainder:
     try:
         m = metadata.from_path(path, archive_path = path)
-    except IOError, e:
+    except (OSError,IOError), e:
         if e.errno == errno.ENOENT:
             add_error(e)
             continue
index a5bc16db31195814576826a41ba15650e6f386c6..b60b11a3c3e3478f60b9c5aae12489248a624d53 100644 (file)
@@ -612,7 +612,7 @@ static PyObject *open_noatime(PyObject *self, PyObject *args)
        fd = open(filename, attrs);
     }
     if (fd < 0)
-       return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+       return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
     return Py_BuildValue("i", fd);
 }
 
@@ -643,14 +643,14 @@ static PyObject *bup_get_linux_file_attr(PyObject *self, PyObject *args)
 
     fd = open(path, O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_NOFOLLOW);
     if (fd == -1)
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
 
     attr = 0;
     rc = ioctl(fd, FS_IOC_GETFLAGS, &attr);
     if (rc == -1)
     {
         close(fd);
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
     }
 
     close(fd);
@@ -670,13 +670,13 @@ static PyObject *bup_set_linux_file_attr(PyObject *self, PyObject *args)
 
     fd = open(path, O_RDONLY | O_NONBLOCK | O_LARGEFILE | O_NOFOLLOW);
     if (fd == -1)
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
 
     rc = ioctl(fd, FS_IOC_SETFLAGS, &attr);
     if (rc == -1)
     {
         close(fd);
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
     }
 
     close(fd);
@@ -753,7 +753,7 @@ static PyObject *bup_utimensat(PyObject *self, PyObject *args)
 
     rc = utimensat(dirfd, path, ts, flags);
     if (rc != 0)
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, path);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, path);
 
     return Py_BuildValue("i", 1);
 }
@@ -776,7 +776,7 @@ static PyObject *bup_stat(PyObject *self, PyObject *args)
     struct stat st;
     rc = stat(filename, &st);
     if (rc != 0)
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
 
     return Py_BuildValue("kkkkkkkk"
                          "(ll)"
@@ -811,7 +811,7 @@ static PyObject *bup_lstat(PyObject *self, PyObject *args)
     struct stat st;
     rc = lstat(filename, &st);
     if (rc != 0)
-        return PyErr_SetFromErrnoWithFilename(PyExc_IOError, filename);
+        return PyErr_SetFromErrnoWithFilename(PyExc_OSError, filename);
 
     return Py_BuildValue("kkkkkkkk"
                          "(ll)"
@@ -845,7 +845,7 @@ static PyObject *bup_fstat(PyObject *self, PyObject *args)
     struct stat st;
     rc = fstat(fd, &st);
     if (rc != 0)
-        return PyErr_SetFromErrno(PyExc_IOError);
+        return PyErr_SetFromErrno(PyExc_OSError);
 
     return Py_BuildValue("kkkkkkkk"
                          "(ll)"
index 8d0012086545c70b9706fdec3fa841038483d517..8b50a803f4eb56f6c025be985f2869f82af50597 100644 (file)
@@ -243,7 +243,7 @@ class Metadata:
         st = None
         try:
             st = lstat(path)
-        except IOError, e:
+        except OSError, e:
             if e.errno != errno.ENOENT:
                 raise
         if st:
@@ -280,7 +280,7 @@ class Metadata:
         if stat.S_ISLNK(self.mode):
             try:
                 lutime(path, (self.atime, self.mtime))
-            except IOError, e:
+            except OSError, e:
                 if e.errno == errno.EACCES:
                     raise ApplyError('lutime: %s' % e)
                 else:
@@ -288,7 +288,7 @@ class Metadata:
         else:
             try:
                 utime(path, (self.atime, self.mtime))
-            except IOError, e:
+            except OSError, e:
                 if e.errno == errno.EACCES:
                     raise ApplyError('utime: %s' % e)
                 else:
@@ -441,7 +441,7 @@ class Metadata:
                 attr = get_linux_file_attr(path)
                 if attr != 0:
                     self.linux_attr = attr
-            except IOError, e:
+            except OSError, e:
                 if e.errno == errno.EACCES:
                     add_error('read Linux attr: %s' % e)
                 elif e.errno == errno.ENOTTY: # Inappropriate ioctl for device.