From af73248fabd90906ff6cde95e0e68acd73b26fd8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 3 Jun 2009 17:14:01 -0700 Subject: [PATCH] Handle octal escaping in parsing /proc/mounts --- src/calibre/devices/usbms/device.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index 510de94603..f8136c307e 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -375,10 +375,14 @@ class Device(DeviceConfig, DevicePlugin): return drives def node_mountpoint(self, node): + + def de_octal(raw): + return re.sub(r'\\0\d+', lambda m: chr(int(m.group()[1:], 8)), raw) + for line in open('/proc/mounts').readlines(): line = line.split() if line[0] == node: - return line[1] + return de_octal(line[1]) return None def find_largest_partition(self, path):